New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android x86 build failed due to _mm_crc32_u8 requires sse4.1 #711
Comments
Thanks @chongchaoyu. Yeah, that sounds about right. Here are some additional resources that may help you with
|
@noloader Thank you for your response, I will try it later with your resources. |
One other thing... The current
Older versions of the library don't have the block above. Older versions required a user add the define on the command line. That's a pain in the butt. Since Android has a stable hardware requirements list, we now do it for users. |
@chongchaoyu, @cawka, @Deadpikle, What do you guys think about setting up The model seems to be working well with We help maintain it like when we add I think it really benefits users because users have a centralized copy of the most up-to-date files without using random sources on the web. |
@noloader @cawka @Deadpikle I think it is a good idea, and it can benefit users a lot and save much time. I am not a skillful c++ programmer, I spent almost two days to compile sources to static lib, suffering many problems, such as version, c++_static/gnustl_static, so painful:( |
I believe the cryptopp-android project files are ready for consumption. I also added a wiki page at Android.mk (Command Line). While you are working through the Android build system you might want to look at Wrapper DLL. It is probably the way I would go with design if I had to do something on Android. |
Crypto++ Issue Report
I use ndkbuild to build Crypto++ 6.1.0 and Crypto++ 7.0.0 to a static lib, but both of them failed, the error is '_mm_crc32_u8' requires target feature 'sse4.1', but would be inlined into function 'CRC32C_Update_SSE42' that is compiled without support for 'sse4.1', and I have uploaded Android.mk and Application.mk.mks.zip, the detail build log is
ndkbuild.txt
The detail information is:
macOS High Sierra, 10.13.2(71c88)
cpu:
machdep.cpu.brand_string: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C
Crypto++ 6.1.0 and Crypto++ 7.0.0
Use ndkbuild, Android.mk and Application.mk
ndk version is r16b, GNU Make 3.81
Error message is:
/Users/mikeyu/work/projects/vega/source/yecha/client/frameworks/runtime-src/Classes/thirdparty/pre/jni/cryptopp700/crc-simd.cpp:148:13: error: always_inline function '_mm_crc32_u8' requires target feature 'sse4.1', but would be inlined into
function 'CRC32C_Update_SSE42' that is compiled without support for 'sse4.1'
c = _mm_crc32_u8(c, *s);
^
/Users/mikeyu/work/projects/vega/source/yecha/client/frameworks/runtime-src/Classes/thirdparty/pre/jni/cryptopp700/crc-simd.cpp:151:13: error: always_inline function '_mm_crc32_u32' requires target feature 'sse4.1', but would be inlined
into function 'CRC32C_Update_SSE42' that is compiled without support for 'sse4.1'
c = _mm_crc32_u32(c, *(const word32 )(void)s);
^
/Users/mikeyu/work/projects/vega/source/yecha/client/frameworks/runtime-src/Classes/thirdparty/pre/jni/cryptopp700/crc-simd.cpp:154:13: error: always_inline function '_mm_crc32_u8' requires target feature 'sse4.1', but would be inlined into
function 'CRC32C_Update_SSE42' that is compiled without support for 'sse4.1'
c = _mm_crc32_u8(c, *s);
^
3 errors generated.
make: *** [/Users/mikeyu/work/projects/vega/source/yecha/client/frameworks/runtime-src/Classes/thirdparty/pre/obj/local/x86/objs/cryptopp_static/cryptopp700/crc-simd.o] Error 1
The text was updated successfully, but these errors were encountered: