Source: libyuv
Version: 0.0.1948.20260702-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
User: [email protected]
Usertags: i386
Control: affects -1 + libwine

https://buildd.debian.org/status/fetch.php?pkg=libyuv&arch=i386&ver=0.0.1948.20260702-1&stamp=1783025641&raw=0:
> ...
> [ 63%] Building C object CMakeFiles/cpuid.dir/util/cpuid.c.o
> /usr/bin/i686-linux-gnu-gcc -DHAVE_JPEG 
> -I/build/reproducible-path/libyuv-0.0.1948.20260702/include 
> -I/usr/src/googletest/googletest -I/usr/src/googletest/googletest/include -g 
> -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/libyuv-0.0.1948.20260702=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 -fPIE -MD -MT CMakeFiles/cpuid.dir/util/cpuid.c.o -MF 
> CMakeFiles/cpuid.dir/util/cpuid.c.o.d -o CMakeFiles/cpuid.dir/util/cpuid.c.o 
> -c /build/reproducible-path/libyuv-0.0.1948.20260702/util/cpuid.c
> /build/reproducible-path/libyuv-0.0.1948.20260702/util/cpuid.c: In function 
> ‘main’:
> /build/reproducible-path/libyuv-0.0.1948.20260702/util/cpuid.c:233:9: error: 
> the register ‘xmm0’ cannot be clobbered in ‘asm’ for the current target
>   233 |         __asm__ volatile("vdpphps %%xmm0, %%xmm0, %%xmm0" : : : 
> "xmm0");

Perhaps this stuff involving vdpphps should be

-#ifdef __linux__
+#if defined(__linux__) && !defined(__i386__)

or perhaps (similar to 
https://github.com/PurpleI2P/i2pd/commit/7373dae026e50f2cb3754bbd4b108b4a90291c85)

-#ifdef __linux__
+#if defined(__linux__) && defined(__AVX__)

to avoid that code path on i386?

libyuv0:i386 is required by 32-bit Wine via this dependency chain:

    libyuv0:i386 -> libavif16:i386 -> libgd3:i386 -> libgphoto2-6t64:i386 -> 
libwine:i386

so it's important to keep it installable on i386.

Thanks,
    smcv

Reply via email to