0

I have compiled veins, vanetza, inet and artery but I'm not able to launch the Artery example. Under the Artery root directory, I did the following:

cd build make run_example

The following error happens:

<!> Error: Cannot load library '/home/renault/artery/build/src/artery/envmod/libartery_envmod.so': /usr/local/lib/libvanetza_security.so: undefined symbol: _ZN8CryptoPP10RandomPool34GenerateIntoBufferedTransformationERNS_22BufferedTransformationERKSsy

End.
scenarios/artery/CMakeFiles/run_example.dir/build.make:57: recipe for target 'scenarios/artery/CMakeFiles/run_example' failed
make[3]: *** [scenarios/artery/CMakeFiles/run_example] Error 1
CMakeFiles/Makefile2:644: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/all' failed
make[2]: *** [scenarios/artery/CMakeFiles/run_example.dir/all] Error 2
CMakeFiles/Makefile2:651: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/rule' failed
make[1]: *** [scenarios/artery/CMakeFiles/run_example.dir/rule] Error 2
Makefile:274: recipe for target 'run_example' failed
make: *** [run_example] Error 2

I'm on ubuntu with crypto++ 5.6.1 installed

Thanks

Acorn
  • 24,970
  • 5
  • 40
  • 69

1 Answers1

1

The error message tells you that the given symbol could not be found. Using c++filt, you can find out that the symbol is the following:

CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long)

This could indicate that you declared this method somewhere - probably in a header file - but did not provide an implementation for it (in the corresponding .cc file).

See also:

Julian Heinovski
  • 1,822
  • 3
  • 16
  • 27