That's the remains of a failed experiment several years ago to see if I could build a Windows DLL using GCC/Cygwin. I ended up getting a lot of linker errors and didn't pursue it further, but left the entries in the GNUmakefile in case I or someone else wanted to try again later.
The problem with this approach is that the symbols marked CRYPTOPP_DLL are only a part of Crypto++ that is FIPS-approved. If you want to use non-FIPS-approved algorithms, such as curve25519, you'll also need to link with a static library that includes the non-FIPS-approved parts of Crypto++. It's probably easier to link with just the full static library than to get this unconventional library structure accepted into Linux distributions. If linking with the static library form of Crypto++ doesn't work, I think your workaround option 2 (in your post to cplusplus-sig) is best. Perhaps if you file a bug on RTLD_GLOBAL, it will be fixed by the time someone wants to import two different python modules that link to libcryptopp.so. http://gcc.gnu.org/faq.html#dso also says to use RTLD_GLOBAL, BTW. It also says you have to use "-Wl,-E". Are you doing that already? -------------------------------------------------- From: "Zooko Wilcox-O'Hearn" <[email protected]> Sent: Tuesday, May 26, 2009 8:03 AM To: "Wei Dai" <[email protected]> Cc: "Crypto++ Users" <[email protected]> Subject: Re: that problem with comparing types across DLLs > > Dear Wei Dai, et al.: > > By the way, who added the features to GNUmakefile to build a "dll" > using gcc? And what is it for? > > I'm guessing that this is for building a DLL on Windows where "gcc" > means mingw. I've been tinkering with porting it to Linux in order > to build a dynamic library (.so) on Linux which exports only the > symbols marked by "CRYPTOPP_DLL". There appears to be some bitrot, > for example the DLLSRCS variable in GNUmakefile seems to omit > some .cpp files that are necessary, possibly because those .cpp files > were added after this feature of the GNUmakefile was added. > > Regards, > > Zooko > > > > --~--~---------~--~----~------------~-------~--~----~ 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. -~----------~----~----~----~------~----~------~--~---
