Closed hongnod closed 2 years ago
The errors are related to the implementation of AES hardware support. Unfortunately, you didn't show how the compiler is invoked. For MinGW you have to specify the compiler options -msse4.2 -maes
. Most likely adding these options will fix the problem.
IMHO this issue is just about properly compiling in the golang environment, which only requires to specify correct compiler options. Therefore I'm going to close the issue.
@hongnod Did you get this working? If so please provide details as a guide for others
@hongnod Did you get this working? If so please provide details as a guide for others
yes,works. pls ref to https://github.com/hongnod/go-sqlite3mc sqlite3mc_cgo.go
Try to use SQLite3MultipleCiphers released amalgamation file to replace go-sqlite3's bind file. build with no success. it says: go build .\simple.go
github.com/mattn/go-sqlite3
In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: sqlite3-binding.c: In function 'aesGenKeyEncryptInternal': C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^
~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256323:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 1); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:43, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/smmintrin.h:447:1: error: inlining failed in call to always_inline '_mm_extract_epi32': target specific option mismatch _mm_extract_epi32 (m128i X, const int N) ^~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~In file included from C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/x86intrin.h:45, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/winnt.h:1554, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/minwindef.h:163, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windef.h:8, from C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include/windows.h:69, from sqlite3-binding.c:77: C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch _mm_aeskeygenassist_si128 (m128i X, const int C) ^~~~~~~~~ sqlite3-binding.c:256328:16: note: called from here temp = _mm_extract_epi32(_mm_aeskeygenassist_si128(_mm_setr_epi32(0, temp, 0, 0), 0), 0); ^~~~~~~~~~~~~~~~~PS D:\golabs\routekit>