[x265] GCC 4.8.2 in MSYS v1 fails building v1.7+211 multilib CLI
Mario *LigH* Rohkrämer
contact at ligh.de
Wed Jun 24 08:04:14 CEST 2015
Am 23.06.2015, 17:13 Uhr, schrieb Steve Borho <steve at borho.org>:
> On 06/23, Mario *LigH* Rohkr??mer wrote:
>> I ran a script closely based on your new 'multilib.sh', using XhmiksoR's
>> MSYS archive for Win32 cross-compilation with GCC 4.8.2 on Win7 SP1 x64.
>>
>> cmake -G "MSYS Makefiles" ../../../source -DHIGH_BIT_DEPTH=ON
>> -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
>> make
>>
>> +----
>> h:/MSYS/home/Entwicklung/x265/source/common/x86/sad16-a.asm:380: error:
>> undefined symbol `m8' (first use)
>> h:/MSYS/home/Entwicklung/x265/source/common/x86/sad16-a.asm:380: error:
>> (Each undefined symbol is reported only once.)
>> h:/MSYS/home/Entwicklung/x265/source/common/x86/sad16-a.asm:380: error:
>> (HADDUWD:1) undefined symbol `sizeofm8' in preprocessor
>> h:/MSYS/home/Entwicklung/x265/source/common/x86/sad16-a.asm:380: error:
>> (HADDD:1) undefined symbol `sizeofm8' in preprocessor
>> h:/MSYS/home/Entwicklung/x265/source/common/x86/sad16-a.asm:380: error:
>> (HADDD:8) undefined symbol `sizeofm8' in preprocessor
>> make[2]: *** [common/CMakeFiles/common.dir/x86/sad16-a.asm.obj] Error 1
>> make[1]: *** [common/CMakeFiles/common.dir/all] Error 2
>> make: *** [all] Error 2
>
> this is unrelated to multilib (-DEXPORT_C_API=OFF). The problem is that
> the main10 assembly cannot be compiled for 32bit, so you should add
> -DENABLE_ASSEMBLY=OFF to the 10bit cmake command line if you need it to
> build a 32bit target (or even better, tell the compiler to target Win64).
Ah, understood. Well, my script runs for both targets, and the Win64
compilation was successful, at least.
But linking appears to be broken as well.
Win32:
+----
[100%] Linking CXX executable x265.exe
.\libx265_main10.a(param.cpp.obj):param.cpp:(.text+0x150): multiple
definition of `strtok_r(char*, char const*, char**)'
libx265.a(param.cpp.obj):param.cpp:(.text+0x150): first defined here
libx265.a(threading.cpp.obj):threading.cpp:(.text+0x23): undefined
reference to `x265_stack_align'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [x265.exe] Error 1
make[1]: *** [CMakeFiles/cli.dir/all] Error 2
make: *** [all] Error 2
+----
Win64:
+----
[100%] Linking CXX executable x265.exe
.\libx265_main10.a(param.cpp.obj):param.cpp:(.text+0x140): multiple
definition of `strtok_r(char*, char const*, char**)'
libx265.a(param.cpp.obj):param.cpp:(.text+0x140): first defined here
collect2.exe: error: ld returned 1 exit status
make[2]: *** [x265.exe] Error 1
make[1]: *** [CMakeFiles/cli.dir/all] Error 2
make: *** [all] Error 2
+----
--
Fun and success!
Mario *LigH* Rohkrämer
mailto:contact at ligh.de
More information about the x265-devel
mailing list