crypto++ 5.2.1 failed to build on Apple g++ 4.0 without modifications (even cvs snapshot).

akvis-llcs-mac-mini:/users/shared/DVP/AKVIS/crp/c5 akvisllc$ make
c++ -g -pipe -D__pic__ -c esign.cpp
esign.cpp: In member function `virtual void CryptoPP::InvertibleESIGNFunction::GenerateRandom(CryptoPP::RandomNumberGenerator&, const CryptoPP::NameValuePairs&)': esign.cpp:97: error: cannot allocate an object of abstract type 'CryptoPP::NameValuePairs' cryptlib.h:222: note: because the following virtual functions are pure within 'CryptoPP::NameValuePairs': cryptlib.h:303: note: virtual bool CryptoPP::NameValuePairs::GetVoidValue(const char*, const std::type_info&, void*) const
make: *** [esign.o] Error 1

akvis-llcs-mac-mini:/users/shared/DVP/AKVIS/crp/c5 akvisllc$ c++ -v
Reading specs from /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/specs
Configured with: /private/var/tmp/gcc/gcc-4061.obj~8/src/configure --disable-checking --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^+.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/gcc/darwin/4.0/c++ --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
akvis-llcs-mac-mini:/users/shared/DVP/AKVIS/crp/c5 akvisllc$



After small change making compiler happy, ./cryptest.exe tests failed after random numbers and hash functions.



Also tested on Cygwin g++ 3.4: compiled OK, but cryptest failed.
compiler info:

C:\cygwin\bin>g++ -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls --without-included-gettext --enable-version -specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured)
Thread model: posix
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)


What you suggest? Some workarounds? Patches/fixes?

Reply via email to