Hello everyone!
I am trying to compile cryptopp library, version 8.2.0, using the OpenWrt toolchain x86_64-openwrt-linux-musl-g++.
I have downloaded the cryptopp820.zip folder and extracted it in the download folder. I opened a terminal inside the extracted folder and I proceeded with the compilation using the following commands:
export CXX=x86_64-openwrt-linux-musl-g++
make -f GNUmakefile-cross shared
Unfortunately the second command does not end successfully and prints the following error:
x86_64-openwrt-linux-musl-g++ -DNDEBUG -g2 -O3 -fPIC -pipe -Wall -c gf2n_simd.cpp
In file included from gf2n_simd.cpp:30:
/home/marta/OpenWrt-V2X/staging_dir/toolchain-x86_64_gcc-8.4.0_musl/lib/gcc/x86_64-openwrt-linux-musl/8.4.0/include/wmmintrin.h: In function 'void {anonymous}::F2N_Multiply_128x128_CLMUL(__m128i&, __m128i&, const __m128i&, const __m128i&)':
/home/marta/OpenWrt-V2X/staging_dir/toolchain-x86_64_gcc-8.4.0_musl/lib/gcc/x86_64-openwrt-linux-musl/8.4.0/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
_mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
^~~~~~~~~~~~~~~~~~~~
gf2n_simd.cpp:192:30: note: called from here
t1 = _mm_clmulepi64_si128(t1, t2, 0x00);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from gf2n_simd.cpp:30:
/home/marta/OpenWrt-V2X/staging_dir/toolchain-x86_64_gcc-8.4.0_musl/lib/gcc/x86_64-openwrt-linux-musl/8.4.0/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
_mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
^~~~~~~~~~~~~~~~~~~~
gf2n_simd.cpp:187:30: note: called from here
c1 = _mm_clmulepi64_si128(a, b, 0x11);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from gf2n_simd.cpp:30:
/home/marta/OpenWrt-V2X/staging_dir/toolchain-x86_64_gcc-8.4.0_musl/lib/gcc/x86_64-openwrt-linux-musl/8.4.0/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
_mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
^~~~~~~~~~~~~~~~~~~~
gf2n_simd.cpp:186:30: note: called from here
c0 = _mm_clmulepi64_si128(a, b, 0x00);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from gf2n_simd.cpp:30:
/home/marta/OpenWrt-V2X/staging_dir/toolchain-x86_64_gcc-8.4.0_musl/lib/gcc/x86_64-openwrt-linux-musl/8.4.0/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
_mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
^~~~~~~~~~~~~~~~~~~~
gf2n_simd.cpp:192:30: note: called from here
t1 = _mm_clmulepi64_si128(t1, t2, 0x00);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
make: *** [GNUmakefile-cross:903: gf2n_simd.o] Errore 1
Do you have any idea on how to solve this issue?
Thank you very much for your time!