[x265] MinGW/GCC: Unsupported intrinsics in Win32/8bit compilation?

Mario *LigH* Rohkrämer contact at ligh.de
Tue Sep 17 14:07:14 CEST 2019


Triple the errors for Win64 target, where all precisions have assembler 
routines:

+----
[ 85%] Linking CXX shared library libx265.dll
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x31): 
undefined reference to 
`x265::setupIntrinsicDCT_sse3(x265::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x3e): 
undefined reference to 
`x265::setupIntrinsicDCT_ssse3(x265::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x55): 
undefined reference to 
`x265::setupIntrinsicDCT_sse41(x265::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main10.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x31): 
undefined reference to 
`x265_10bit::setupIntrinsicDCT_sse3(x265_10bit::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main10.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x3e): 
undefined reference to 
`x265_10bit::setupIntrinsicDCT_ssse3(x265_10bit::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main10.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x55): 
undefined reference to 
`x265_10bit::setupIntrinsicDCT_sse41(x265_10bit::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main12.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x31): 
undefined reference to 
`x265_12bit::setupIntrinsicDCT_sse3(x265_12bit::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main12.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x3e): 
undefined reference to 
`x265_12bit::setupIntrinsicDCT_ssse3(x265_12bit::EncoderPrimitives&)'
E:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: 
.\libx265_main12.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x55): 
undefined reference to 
`x265_12bit::setupIntrinsicDCT_sse41(x265_12bit::EncoderPrimitives&)'
+----

Mario *LigH* Rohkrämer schrieb am 17.09.2019 um 13:25:
> I tried to build a multilib encoder for Win32 in MSYS2/MinGW32 with GCC 
> 9.2.0. The librraries for 10 and 12 bit precision passed (without any 
> Assembler optimization). The linking for the 8 bit precision library 
> failed:
> 
> +----
> [ 82%] Built target common
> Scanning dependencies of target x265-shared
> [ 83%] Building RC object CMakeFiles/x265-shared.dir/x265.rc.obj
> [ 84%] Linking CXX shared library libx265.dll
> E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: 
> CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x2c): 
> undefined reference to 
> `x265::setupIntrinsicDCT_sse3(x265::EncoderPrimitives&)'
> E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: 
> CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x39): 
> undefined reference to 
> `x265::setupIntrinsicDCT_ssse3(x265::EncoderPrimitives&)'
> E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: 
> CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x4f): 
> undefined reference to 
> `x265::setupIntrinsicDCT_sse41(x265::EncoderPrimitives&)'
> +----
> 
> Please note that it compiled despite some ccache warnings. I don't know 
> if ccache has any impact here. I read in the patch notes when 
> media-autobuild suite introduced experimental ccache support that it 
> "needs to run at least once to have any effect", but that may only be 
> related to speed-up effects in subsequent compilations?
> 


-- 

Fun and success!

Mario *LigH* Rohkrämer
maito:contact at ligh.de


More information about the x265-devel mailing list