Hi All, I see for most of the errors below function definitions are already available in code files. But its no compiled because of #ifdef , not sure how to fix this..
Regards Ninad D On Friday, 5 February 2021 at 00:57:38 UTC+5:30 Ninad Deshmukh wrote: > Hi > I am new to Crypto++ > I was trying to build Crypto++ for *android *using documentation here: > https://github.com/noloader/cryptopp-android > > Note: Build succeeded for *arm64-v8a* and linker fails for *armeabi-v7a* > I am not able to resolve following linker errors: > > > ld: error: undefined symbol: CryptoPP::CPU_ProbeARMv7() > >>> referenced by cpu.cpp:1014 (./../cryptopp\cpu.cpp:1014) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbeNEON() > >>> referenced by cpu.cpp:1015 (./../cryptopp\cpu.cpp:1015) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbeCRC32() > >>> referenced by cpu.cpp:1016 (./../cryptopp\cpu.cpp:1016) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbePMULL() > >>> referenced by cpu.cpp:1017 (./../cryptopp\cpu.cpp:1017) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbeAES() > >>> referenced by cpu.cpp:1018 (./../cryptopp\cpu.cpp:1018) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA1() > >>> referenced by cpu.cpp:1019 (./../cryptopp\cpu.cpp:1019) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA256() > >>> referenced by cpu.cpp:1020 (./../cryptopp\cpu.cpp:1020) > >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::ARIA_UncheckedSetKey_Schedule_NEON(unsigned char*, unsigned int*, > unsigned int) > >>> referenced by aria.cpp:182 (./../cryptopp\aria.cpp:182) > >>> aria.o:(CryptoPP::ARIA::Base::UncheckedSetKey(unsigned > char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::ARIA_ProcessAndXorBlock_NEON(unsigned char const*, unsigned > char*, unsigned char const*, unsigned int*) > >>> referenced by aria.cpp:293 (./../cryptopp\aria.cpp:293) > >>> > aria.o:(CryptoPP::ARIA::Base::ProcessAndXorBlock(unsigned char const*, > unsigned char const*, unsigned char*) const) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::BLAKE2_Compress32_NEON(unsigned > char const*, CryptoPP::BLAKE2s_State&) > >>> referenced by blake2.cpp:686 (./../cryptopp\blake2.cpp:686) > >>> blake2.o:(CryptoPP::BLAKE2s::Compress(unsigned char > const*)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::BLAKE2_Compress64_NEON(unsigned > char const*, CryptoPP::BLAKE2b_State&) > >>> referenced by blake2.cpp:709 (./../cryptopp\blake2.cpp:709) > >>> blake2.o:(CryptoPP::BLAKE2b::Compress(unsigned char > const*)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::ChaCha_OperateKeystream_NEON(unsigned int const*, unsigned char > const*, unsigned char*, unsigned int) > >>> referenced by chacha.cpp:142 (./../cryptopp\chacha.cpp:142) > >>> chacha.o:((anonymous > namespace)::ChaCha_OperateKeystream(CryptoPP::KeystreamOperation, unsigned > int*, unsigned int&, unsigned int&, unsigned int, unsigned char*, unsigned > char const*, unsigned int)) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: CryptoPP::GCM_Xor16_NEON(unsigned char*, > unsigned char const*, unsigned char const*) > >>> referenced by gcm.cpp:214 (./../cryptopp\gcm.cpp:214) > >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned > char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > >>> referenced by gcm.cpp:276 (./../cryptopp\gcm.cpp:276) > >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned > char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > >>> referenced by gcm.cpp:277 (./../cryptopp\gcm.cpp:277) > >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned > char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive > ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::LEA_Enc_AdvancedProcessBlocks_NEON(unsigned int const*, unsigned > int, unsigned char const*, unsigned char const*, unsigned char*, unsigned > int, unsigned int) > >>> referenced by lea.cpp:875 (./../cryptopp\lea.cpp:875) > >>> > lea.o:(CryptoPP::LEA::Enc::AdvancedProcessBlocks(unsigned char const*, > unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in > archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::LEA_Dec_AdvancedProcessBlocks_NEON(unsigned int const*, unsigned > int, unsigned char const*, unsigned char const*, unsigned char*, unsigned > int, unsigned int) > >>> referenced by lea.cpp:892 (./../cryptopp\lea.cpp:892) > >>> > lea.o:(CryptoPP::LEA::Dec::AdvancedProcessBlocks(unsigned char const*, > unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in > archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::SIMON128_Enc_AdvancedProcessBlocks_NEON(unsigned long long > const*, unsigned int, unsigned char const*, unsigned char const*, unsigned > char*, unsigned int, unsigned int) > >>> referenced by simon.cpp:472 (./../cryptopp\simon.cpp:472) > >>> > simon.o:(CryptoPP::SIMON128::Enc::AdvancedProcessBlocks(unsigned char > const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) > const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::SIMON128_Dec_AdvancedProcessBlocks_NEON(unsigned long long > const*, unsigned int, unsigned char const*, unsigned char const*, unsigned > char*, unsigned int, unsigned int) > >>> referenced by simon.cpp:493 (./../cryptopp\simon.cpp:493) > >>> > simon.o:(CryptoPP::SIMON128::Dec::AdvancedProcessBlocks(unsigned char > const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) > const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::SPECK128_Enc_AdvancedProcessBlocks_NEON(unsigned long long > const*, unsigned int, unsigned char const*, unsigned char const*, unsigned > char*, unsigned int, unsigned int) > >>> referenced by speck.cpp:454 (./../cryptopp\speck.cpp:454) > >>> > speck.o:(CryptoPP::SPECK128::Enc::AdvancedProcessBlocks(unsigned char > const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) > const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > > ld: error: undefined symbol: > CryptoPP::SPECK128_Dec_AdvancedProcessBlocks_NEON(unsigned long long > const*, unsigned int, unsigned char const*, unsigned char const*, unsigned > char*, unsigned int, unsigned int) > >>> referenced by speck.cpp:475 (./../cryptopp\speck.cpp:475) > >>> > speck.o:(CryptoPP::SPECK128::Dec::AdvancedProcessBlocks(unsigned char > const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) > const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a > clang++: error: linker command failed with exit code 1 (use -v to see > invocation) > make: *** > [C:/Users/XXXXXX/AppData/Local/Android/Sdk/ndk/22.0.6917172/build//../build/core/ > build-binary.mk:741: obj/local/armeabi-v7a/cryptest.exe] Error 1 > > Any hint, suggestions please? > > Regards > Ninad D > -- You received this message because you are subscribed to "Crypto++ Users". More information about Crypto++ and this group is available at http://www.cryptopp.com and http://groups.google.com/forum/#!forum/cryptopp-users. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/cryptopp-users/b54f7f27-7f96-410d-b1d3-b59d81db841an%40googlegroups.com.