I discovered that gcc will create a crypto++ shared library on this Solaris box only when I link and compile at the same time. If I change the commands -
> g++ -O3 -DNDEBUG -pipe -DCRYPTOPP_EXPORTS -c *.cpp -o *.export.o > > (I filtered out dll.cpp) > > The .so file is being linked as > g++ -shared -o libcryptopp.so -O3 -DNDEBUG -pipe algebra.export.o > algparam.export.o asn.export.o basecode.export.o cbcmac.export.o > channels.export.o cryptlib.export.o des.export.o dessp.export.o > dh.export.o dsa.export.o ec2n.export.o eccrypto.export.o ecp.export.o > emsa2.export.o eprecomp.export.o files.export.o filters.export.o > fips140.export.o fipstest.export.o gf2n.export.o gfpcrypt.export.o > hex.export.o hmac.export.o integer.export.o iterhash.export.o > misc.export.o modes.export.o modexppc.export.o mqueue.export.o > nbtheory.export.o oaep.export.o osrng.export.o pch.export.o > pkcspad.export.o pssr.export.o pubkey.export.o queue.export.o > randpool.export.o rdtables.export.o rijndael.export.o rng.export.o > rsa.export.o sha.export.o simple.export.o skipjack.export.o > strciphr.export.o trdlocal.export.o -lnsl -lsocket to g++ -shared -fPIC -o libcryptopp.so -O3 -DNDEBUG -pipe algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp emsa2.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pssr.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp -lnsl -lsocket it compiles and links with out errors! The relative changes to the make file are: Left file: GNUmakefile (v5.4 20061222) Right file: My GNUmakefile 8,9c8 < # CXXFLAGS = -O3 -DNDEBUG -ffunction-sections -fdata-sections < # LDFLAGS += -Wl,--gc-sections --- > CXXFLAGS = -O3 -DNDEBUG 17a18,21 > ifneq ($(UNAME),SunOS) > LDFLAGS += -Wl,--gc-sections > CXXFLAGS += -ffunction-sections -fdata-sections > endif 95c99 < $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $ (TESTIMPORTOBJS) $(DLLTESTOBJS) --- > $(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) libcryptopp.so > cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe > dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS) 116a122,123 > libcryptopp.so: > $(CXX) -shared -fPIC -o $@ -O3 $(DLLSRCS) $(LDLIBS) (Remember to update the LD_LIBRARY_PATH environment variable with your libcryptopp.so file location before running an application that was linked against your libcryptopp.so file.) Chris. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [EMAIL PROTECTED] More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
