| Summary: | app-arch/zstd: Meson shows "No build machine compiler" error when cross building | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | vadorovsky <vadorovsky> |
| Component: | Current packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | CC: | eschwartz, vadorovsky |
| Priority: | Normal | Keywords: | PullRequest |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | https://github.com/gentoo/gentoo/pull/35493 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
I've never used `emerge-wrapper`, but aarch64_be-unknown-linux-gnu-emerge -v1 app-arch/zstd works fine for me. I think something is wrong with the way you set up the cross-compile environment. OK, that was indeed my cross environment set up incorrectly. Sticking to instructions https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Creating_a_cross-compiler instead of using emerge-wrapper made it much better. Sorry for the noise. We may want to remove emerge-wrapper or add a warning to if it's broken somehow... |
Emerging app-arch/zstd with 80.54 >>> Emerging (2 of 2) app-arch/zstd-1.5.5::gentoo for /usr/aarch64-gentoo-linux-musl/ 80.57 * zstd-1.5.5.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ] 80.80 >>> Unpacking source... 80.80 >>> Unpacking zstd-1.5.5.tar.gz to /var/tmp/portage/app-arch/zstd-1.5.5/work 80.94 >>> Source unpacked in /var/tmp/portage/app-arch/zstd-1.5.5/work 81.07 >>> Preparing source in /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson ... 81.07 * Applying zstd-1.5.4-no-find-valgrind.patch ... [ ok ] 81.08 >>> Source prepared. 81.21 >>> Configuring source in /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson ... 81.23 * .arm64: running multilib-minimal_abi_src_configure 81.91 meson setup --libdir lib --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig --native-file /var/tmp/portage/app-arch/zstd-1.5.5/temp/meson.x86_64-gentoo-linux-musl.arm64.ini -Db_pch=false -Dwerror=false -Db_lto=false --buildtype plain --cross-file /var/tmp/portage/app-arch/zstd-1.5.5/temp/meson.aarch64-gentoo-linux-musl.arm64.ini -Ddefault_library=both -Dbin_programs=true -Dbin_contrib=true -Dbin_tests=false -Dzlib=enabled -Dlzma=enabled -Dlz4=disabled --native-file /var/tmp/portage/app-arch/zstd-1.5.5/temp/meson.aarch64-gentoo-linux-musl.arm64.ini.local /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson-.arm64 82.98 The Meson build system 82.98 Version: 1.3.0 82.98 Source dir: /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson 82.98 Build dir: /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson-.arm64 82.98 Build type: cross build 82.98 Program GetZstdLibraryVersion.py found: YES (/usr/bin/python3.11 /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson/GetZstdLibraryVersion.py) 82.98 Project name: zstd 82.98 Project version: 1.5.5 82.98 C compiler for the host machine: clang (clang 17.0.6 "clang version 17.0.6") 82.98 C linker for the host machine: clang ld.lld 17.0.6 82.98 C++ compiler for the host machine: clang++ (clang 17.0.6 "clang version 17.0.6") 82.98 C++ linker for the host machine: clang++ ld.lld 17.0.6 82.98 Compiler for language c for the build machine not found. 82.98 Compiler for language cpp for the build machine not found. 82.98 Build machine cpu family: x86_64 82.98 Build machine cpu: x86_64 82.98 Host machine cpu family: aarch64 82.98 Host machine cpu: aarch64 82.98 Target machine cpu family: aarch64 82.98 Target machine cpu: aarch64 82.98 Library m found: YES 82.98 Run-time dependency threads found: YES 82.98 Found pkg-config: YES (/usr/bin/aarch64-gentoo-linux-musl-pkg-config) 1.8.1 82.98 Run-time dependency zlib found: YES 1.3 82.98 Run-time dependency liblzma found: YES 5.4.5 82.98 Dependency liblz4 skipped: feature lz4 disabled 82.98 Compiler for C supports arguments -Wundef: YES 82.98 Compiler for C supports arguments -Wshadow: YES 82.98 Compiler for C supports arguments -Wcast-align: YES 82.98 Compiler for C supports arguments -Wcast-qual: YES 82.98 Compiler for C supports arguments -Wconversion: YES 82.98 Compiler for C supports arguments -Wno-sign-conversion: YES 82.98 Compiler for C supports arguments -Wdocumentation: YES 82.98 Compiler for C supports arguments -Wstrict-prototypes: YES 82.98 Compiler for C++ supports arguments -Wundef: YES 82.98 Compiler for C++ supports arguments -Wshadow: YES 82.98 Compiler for C++ supports arguments -Wcast-align: YES 82.98 Compiler for C++ supports arguments -Wcast-qual: YES 82.98 Compiler for C++ supports arguments -Wconversion: YES 82.98 Compiler for C++ supports arguments -Wno-sign-conversion: YES 82.98 Compiler for C++ supports arguments -Wdocumentation: YES 82.98 Message: Enable legacy support back to version 0.5 82.98 Message: Enable multi-threading support 82.98 Has header "execinfo.h" skipped: feature backtrace disabled 82.98 82.98 ../meson/contrib/gen_html/meson.build:17:11: ERROR: No build machine compiler for 'contrib/gen_html/../../../../contrib/gen_html/gen_html.cpp' 82.98 82.98 A full log can be found at /var/tmp/portage/app-arch/zstd-1.5.5/work/zstd-1.5.5/build/meson-.arm64/meson-logs/meson-log.txt 83.00 * ERROR: app-arch/zstd-1.5.5::gentoo failed (configure phase): 83.01 * (no error message) 83.01 * 83.01 * Call stack: 83.02 * ebuild.sh, line 136: Called src_configure 83.02 * environment, line 2784: Called meson-multilib_src_configure 83.02 * environment, line 1678: Called multilib-minimal_src_configure 83.03 * environment, line 1897: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure' 83.03 * environment, line 2147: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' 83.04 * environment, line 1852: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' 83.04 * environment, line 1850: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure' 83.05 * environment, line 538: Called multilib-minimal_abi_src_configure 83.05 * environment, line 1891: Called multilib_src_configure 83.06 * environment, line 2378: Called meson_src_configure 83.06 * environment, line 1790: Called die 83.06 * The specific snippet of code: 83.07 * "${mesonargs[@]}" ) || die Reproducible: Always Steps to Reproduce: 1. Setup crossdev for a foreign architecture. I did that by downloading the arm64 stage3 tarball, unpacking it to /usr/aarch64-gentoo-linux-musl and running `emerge-wrapper --target /usr/aarch64-gentoo-linux-musl --init`. 2. `ROOT=/usr/aarch64-gentoo-linux-musl aarch64-gentoo-linux-musl-emerge` 3. See the error I mentioned.