c++11dllstatic-librariesmingw32botan

Botan build error 'AutoSeeded_RNG' does not name a type


Trying to build the Botan executable, I am getting the following error:

../src/cli/timing_tests.cpp: In static member function 'static        Botan::RandomNumberGenerator& Botan_CLI::Timing_Test::timing_test_rng()':

../src/cli/timing_tests.cpp:100:17: error: 'AutoSeeded_RNG' does not name a type static AutoSeeded_RNG static_timing_test_rng(Botan::Entropy_Sources::global_sources(), 0); ^~~~~~~~~~~~~~ ../src/cli/timing_tests.cpp:101:17: error: 'static_timing_test_rng' was not declared in this scope return static_timing_test_rng; ^~~~~~~~~~~~~~~~~~~~~~ ../src/cli/timing_tests.cpp:101:17: note: suggested alternative: 'timing_test_rng' return static_timing_test_rng; ^~~~~~~~~~~~~~~~~~~~~~ timing_test_rng make: *** [Makefile:606: build/obj/cli/timing_tests.o] Error 1

this is the C++ code:

 static Botan::RandomNumberGenerator& timing_test_rng()
     {
     #if defined(BOTAN_HAS_SYSTEM_RNG)
     return Botan::system_rng();
     #elif defined(BOTAN_HAS_AUTO_SEEDING_RNG)
     static AutoSeeded_RNG   static_timing_test_rng(Botan::Entropy_Sources::global_sources(), 0);
     return static_timing_test_rng;
  #else
     // we could just use SHA-256 in OFB mode for these purposes
     throw CLI_Error("Timing tests require a PRNG");
  #endif
     }

I am using these settings: configure.py --prefix=$BUILD_DIR --with-external-includedir=$OPENSSL_PREFIX/include --with-external-libdir=$OPENSSL_PREFIX/lib --os=mingw --cpu=i386 --minimized-build --enable- modules=rsa,dsa,ecdsa,ed25519,hmac,hmac_drbg,mode_pad,bigint,filters,block,auto_rng,x509,cbc,dh --with-openssl

(building with mingw32, in Windows 10. Botan version 2.11.0)

I am pretty new on this. Any ideas?

EDIT: Changed to version 2.10.0, since 2.11.0 is not yet official, however the error did now change, to :

    undefined reference to 'Botan::CPUID::state()'

Solution

  • Seems like adding entropy source system_rng solves this problem. Just add it to the enable-modules list. Got this from Jack Lloyd, creator of the Botan lib,