[x265] GCC 4.8.2 in MSYS v1 fails building v1.7+211 multilib CLI

Steve Borho steve at borho.org
Wed Jun 24 17:39:06 CEST 2015


On 06/24, Mario *LigH* Rohkr??mer wrote:
> 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

ok, patch sent

> +----
> 
> 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
> +----

and another patch sent

sorry for the multiple iterations, but I have no windows boxes to test
builds with these days.

-- 
Steve Borho


More information about the x265-devel mailing list