protonscr

[Build issue] src-dav1d/meson.build:25:0: ERROR: Unknown compiler(s): [['i686-linux-gnu-gcc']]

protonclosed
ValveSoftware/Proton#7534 · opened 2024-02-27 by ms178 · updated 2024-02-27 · 1 comments · github
Mms178 2024-02-27 github

Trying to build (a slightly modified) Proton-CachyOS (_srctag=9.0-20240221), I've noticed the following build issue with 32bit-dav1d:

:: configuring 32bit dav1d...
rm -rf "/tmp/makepkg/proton-cachyos/src/build/obj-dav1d32/meson-private/coredata.dat"
echo "$DAV1D_MESON_CROSS32" | env WINEDEBUG="-all" WINEPREFIX="/tmp/makepkg/proton-cachyos/src/build/pfx-wine32" WINEDLLOVERRIDES="winemenubuilder=d;" CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER="i686-linux-gnu-gcc" CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUSTFLAGS="-Copt-level=3 -Ctarget-cpu=native" CCACHE_BASEDIR="/tmp/makepkg/proton-cachyos/src/build/src-dav1d" STRIP="strip" AR="i686-linux-gnu-ar" RANLIB="i686-linux-gnu-ranlib" CC="i686-linux-gnu-gcc" CXX="i686-linux-gnu-g++" LD="i686-linux-gnu-ld" RC="i686-w64-mingw32-windres" WIDL="i686-w64-mingw32-widl" PKG_CONFIG="i686-linux-gnu-pkg-config" PATH=":$PATH" LD_LIBRARY_PATH="$LD_LIBRARY_PATH" PKG_CONFIG_PATH="" PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig:/usr/share/pkgconfig" CFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu18" CPPFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx" CXXFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu++2a" LDFLAGS="     -Wl,-O3,--as-needed,-Bsymbolic-functions,--sort-common -Wl,--gc-sections"  CROSSAR="i686-w64-mingw32-ar" CROSSRANLIB="i686-w64-mingw32-ranlib" CROSSCC="i686-w64-mingw32-gcc" CROSSCXX="i686-w64-mingw32-g++" CROSSLD="i686-w64-mingw32-ld" CROSSCFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu18" CROSSCPPFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx" CROSSCXXFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu++2a" CROSSLDFLAGS="     -Wl,--file-alignment,4096" CROSSPKG_CONFIG_LIBDIR="/usr/lib/i386-w64-mingw32/pkgconfig:/usr/share/pkgconfig"  sh >"/tmp/makepkg/proton-cachyos/src/build/obj-dav1d32/cross-32.txt"
env WINEDEBUG="-all" WINEPREFIX="/tmp/makepkg/proton-cachyos/src/build/pfx-wine32" WINEDLLOVERRIDES="winemenubuilder=d;" CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER="i686-linux-gnu-gcc" CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUSTFLAGS="-Copt-level=3 -Ctarget-cpu=native" CCACHE_BASEDIR="/tmp/makepkg/proton-cachyos/src/build/src-dav1d" STRIP="strip" AR="i686-linux-gnu-ar" RANLIB="i686-linux-gnu-ranlib" CC="i686-linux-gnu-gcc" CXX="i686-linux-gnu-g++" LD="i686-linux-gnu-ld" RC="i686-w64-mingw32-windres" WIDL="i686-w64-mingw32-widl" PKG_CONFIG="i686-linux-gnu-pkg-config" PATH=":$PATH" LD_LIBRARY_PATH="$LD_LIBRARY_PATH" PKG_CONFIG_PATH="" PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig:/usr/share/pkgconfig" CFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu18" CPPFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx" CXXFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu++2a" LDFLAGS="     -Wl,-O3,--as-needed,-Bsymbolic-functions,--sort-common -Wl,--gc-sections"  CROSSAR="i686-w64-mingw32-ar" CROSSRANLIB="i686-w64-mingw32-ranlib" CROSSCC="i686-w64-mingw32-gcc" CROSSCXX="i686-w64-mingw32-g++" CROSSLD="i686-w64-mingw32-ld" CROSSCFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu18" CROSSCPPFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx" CROSSCXXFLAGS="  -s -O3 -march=native -mtune=native -maes -mbmi2 -mpclmul -fno-semantic-interposition -falign-functions=32 -fipa-pta -flive-range-shrinkage -fno-math-errno -fno-trapping-math -mtls-dialect=gnu2 -feliminate-unused-debug-types -floop-nest-optimize -fgraphite-identity -fcf-protection=none -fdevirtualize-at-ltrans -mharden-sls=none -funroll-loops -malign-data=cacheline -fomit-frame-pointer -mprefer-vector-width=256 -fivopts -fmodulo-sched -fdata-sections -ffunction-sections -w -mfpmath=both -fwrapv -fno-strict-aliasing -ffile-prefix-map=/tmp/makepkg/proton-cachyos/src/build/src-dav1d=. -mstackrealign -mno-avx -std=gnu++2a" CROSSLDFLAGS="     -Wl,--file-alignment,4096" CROSSPKG_CONFIG_LIBDIR="/usr/lib/i386-w64-mingw32/pkgconfig:/usr/share/pkgconfig"  meson "/tmp/makepkg/proton-cachyos/src/build/obj-dav1d32" "/tmp/makepkg/proton-cachyos/src/build/src-dav1d" --wrap-mode=nodownload --prefix="/tmp/makepkg/proton-cachyos/src/build/dst-dav1d32" --libdir="lib" --buildtype=release  -Denable_tools=false -Denable_tests=false  --strip
The Meson build system
Version: 1.3.2
Source dir: /tmp/makepkg/proton-cachyos/src/build/src-dav1d
Build dir: /tmp/makepkg/proton-cachyos/src/build/obj-dav1d32
Build type: native build
Project name: dav1d
Project version: 1.2.1

src-dav1d/meson.build:25:0: ERROR: Unknown compiler(s): [['i686-linux-gnu-gcc']]
The following exception(s) were encountered:
Running `i686-linux-gnu-gcc --version` gave "[Errno 2] No such file or directory: 'i686-linux-gnu-gcc'"

The build log does not tell me more though. I cannot tell why meson doesn't seem to pick / find the correct compiler. I have both the neccessary 32-bit packages of gcc and rust (via rustup) installed on the system:

❯ i686-w64-mingw32-gcc -v
Es werden eingebaute Spezifikationen verwendet.
COLLECT_GCC=i686-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-w64-mingw32/13.2.1/lto-wrapper
Ziel: i686-w64-mingw32
Konfiguriert mit: /tmp/makepkg/mingw-w64-gcc/src/gcc/configure --prefix=/usr --libexecdir=/usr/lib --target=i686-w64-mingw32 --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,lto,c++ --enable-shared --enable-static --enable-threads=posix --enable-fully-dynamic-string --enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts=yes --with-system-zlib --enable-cloog-backend=isl --enable-lto --enable-libgomp --disable-multilib --disable-checking --disable-sjlj-exceptions --with-dwarf2
Thread-Modell: posix
Unterstützte LTO-Kompressionsalgorithmen: zlib zstd
gcc-Version 13.2.1 20240226 (GCC) 
❯ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.76.0 (07dca489a 2024-02-04)

info: cleaning up downloads & tmp directories
info: self-update is disabled for this build of rustup
info: any updates to rustup will need to be fetched with your system package manager

~/Downloads/proton-cachyos
❯ rustup target add  i686-unknown-linux-gnu
info: component 'rust-std' for target 'i686-unknown-linux-gnu' is up to date

I can build the Linux 32-bit native version of dav1d without issues and also other 32-bit mingw packages like dxvk or vkd3d-proton with my mingw-toolchain without seeing that problem, so I guess it is something wrong specific while building the version proton ships with or some environment variables that are set only when building proton (as these are set via the environment variable as seen in the configuration section above: "CC="i686-linux-gnu-gcc" CXX="i686-linux-gnu-g++"). I've also noticed that the cross-32.txt has the following entry:

pkg_config_libdir = '/usr/lib/i386-w64-mingw32/pkgconfig:/usr/share/pkgconfig' which probably should be pkg_config_libdir = '/usr/i686-w64-mingw32/pkgconfig:/usr/share/pkgconfig' as the 32-bit mingw compiler is located there on my distro. But I don't know how to fix that locally as the file gets overwritten every time before it gets applied.

Any help to fix this issue is well appreciated.

Kkisak-valve maintainer 2024-02-27 github

Hello @ms178, this is a third party packaging issue which is not maintained here. You should direct this question to the package maintainer(s) of "Proton-CachyOS."