Closed durdo closed 2 years ago
Crypto is optional for ARMv8, including Cortex A53's and A57's. Early Mustang boards lacked them. I have not encountered another board that lacked them (yet).
It looks like someone built a compiler without the support crypto, presumably because the SoC or board lacked the crypto extensions.
I think the easiest thing to do in this case is use the CMake DISABLE_ASM
option. It avoids the AES, SHA and PMULL code paths. Also see CMake on the Crypto++ wiki.
For what its worth, I think the bug is around CMakefileList.txt : 645. We set compile options for source files like -march=armv8-a+crypto
when available, but we don't add -DCRYPTOPP_DISABLE_ARM_XXX
when the compile option is not available.
@durdo,
Give Commit 96d1dc744079 and Commit 7edd6a273189 a try. Thos two commits are the tip of Master.
The commits should detect the missing option/supprt for you. If they function properly, you won't have to manually add an option.
First of all, I want to thank you for such a prompt response, I really appreciated it.
I tried the commits you suggested and unfortunately, they did not fix my issue. The DISABLE_ASM on the other hand worked like a charm.
Thank you very much, my problem is definitely solved.
If you want to try to solve this issue without the CMake option I can certainly test the commits and give you feedback, but this is up to you since using the option is more than enough for me.
I think this is fixed now. CMake was not using the options we set in CRYPTOPP_COMPILE_OPTIONS
. It was fixed in Commit fae7769fbe00 and Commit 44ba79379ede.
This build system sucks.
I ran in this error while trying to build Crypto++ on cortex A53
Apparently this is the only compilation problem. Can anyone help me figure this one out?