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?