FW: building snacc32.lib

"Colestock, Robert" <[email protected]>
Newsgroups gmane.ietf.sfl
Message-ID <33BD629222C0D211B6DB0060085ACF3115BA79@WFHQEX03>

-----Original Message-----
From: Colestock, Robert 
Sent: Wednesday, June 16, 1999 11:04 AM
To: 'Hoa Ly'
Cc: Pawling, John; Leonberger, Pierce
Subject: RE: building snacc32.lib


Hoa:

This error is due to the mis-alignment of the MS Visual C++ run-time DLLs;
our library uses the "Debug Multithreaded DLL" as listed under the menu
"Project/Settings/C++" Tab, "Category: Code Generation", "Use run-time
library:".  ALL of the components of your project must use consistent
settings (painful, but necessary).  Our libraries all use this setting for
Deubug ("Multithreaded DLL" for Release).  Your error indicates that some
object reference compiled in your make is using another run-time DLL.

All of the libraries under the SFL are consistent; this would imply that the
failure (not listed in the errors below) must be with the crypto link.  If
you are using the crypto++ 3.0 library, you must adjust the authors settings
to reflect the DLL settings above and "Re-build ALL" the crypto library.

I noticed you are attempting to rebuild the SNACC library; these settings
must also be consistent (they are by default).  It is not necessary to
re-build the SNACC library, we deliver the snacc32.lib and snacc32d.lib
run-time libraries.


SNACC Compiler:

Sorry about the notes, they are for an older release; they have been
removed.  To build the SNACC compiler and run-time libraries, simply build
the "snaccVC6" workspace "snacc" project.  It should build "snacc.exe" which
is the snacc compiler.  The command line is tricky; for our project the
following directory and parameters are used:

	working directory:
	../../smimeR1.0/libsrc/asn1

	command line parameters:
-D -C -u ../../../snacc-1.3vda/asn1specs/asn-useful.asn1 sm_vdatypes.asn
sm_x501ud.asn sm_x411ub.asn sm_x411mtsas.asn sm_x501if.asn sm_x520sa.asn
sm_x509cmn.asn  sm_x509af.asn sm_x509ce.asn sm_cms.asn sm_ess.asn
../../alg_libs/sm_free3/sm_free3_asn.asn
../../alg_libs/sm_rsa/sm_rsa_asn.asn ../../alg_libs/sm_fort/sm_fortAsn.asn  

This is important since we only support the C++ generation, and require a
number of base ASN.1 definitions (in the numerous *.asn files listed, and
the "asn-useful.ans1" file).

Bob Colestock
[email protected]

-----Original Message-----
From: Hoa Ly [mailto:[email protected]]
Sent: Tuesday, June 15, 1999 4:54 PM
To: '[email protected]'
Subject: building snacc32.lib


Hi,

I'm trying to build smime.dsw (smimeR1.0) as distributed with MSVC6.0 and
got the following errors:

msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "public: class ostream &
__thiscall ostream::operator<<(char const *)" (??6ostream@@QAEAAV0@PBD@Z)
already defined in libcimtd.lib(ostream.obj)
msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "public: class ostream &
__thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))"
(??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z) already defined in
libsmutild.lib(sm_x509af.obj)
msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "class ostream & __cdecl
endl(class ostream &)" (?endl@@YAAAVostream@@AAV1@@Z) already defined in
libsmutild.lib(sm_x509af.obj)
msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "public: class ostream &
__thiscall ostream::operator<<(char)" (??6ostream@@QAEAAV0@D@Z) already
defined in libsmutild.lib(sm_x509af.obj)
msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "public: class ostream &
__thiscall ostream::operator<<(int)" (??6ostream@@QAEAAV0@H@Z) already
defined in libcimtd.lib(ostrint.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined in
LIBCMTD.lib(sprintf.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in
LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _calloc already defined in
LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fclose already defined in
LIBCMTD.lib(fclose.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fopen already defined in
LIBCMTD.lib(fopen.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strncmp already defined in
LIBCMTD.lib(strncmp.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _longjmp already defined in
LIBCMTD.lib(longjmp.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _isprint already defined in
LIBCMTD.lib(_ctype.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _isspace already defined in
LIBCMTD.lib(_ctype.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _abort already defined in
LIBCMTD.lib(abort.obj)
LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other
libs; use /NODEFAULTLIB:library
Debug/report_tool.exe : fatal error LNK1169: one or more multiply defined
symbols found
Error executing link.exe.


I tried again by changing all the sub projects as multi-threaded instead of
a mixture of multi-threaded and multi-threaded dll. But, still getting the
error.  If I removed snacc32d.lib, then I will get undefined symbol, instead
of those listed above.  So now I'm trying to build the snacc library without
any success.  I tried to follow the instruction from snaccVC6\notes.wri.
First, I opened the project snaccVC6\snaccVC.dsw.  There is no project label
as "compiler".  Then, I searched snacc-1.3, snacc-1.3vca, snaccVC5, snaccVC6
for a project name "c__lib.dsp" and could not find it either.  This has been
very frustrating.  Please help!

Thanks

Hoa
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.