Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 925287 - app-arch/zstd: Meson shows "No build machine compiler" error when cross building
Summary: app-arch/zstd: Meson shows "No build machine compiler" error when cross building
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-02-23 00:02 UTC by vadorovsky
Modified: 2024-02-24 11:30 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vadorovsky 2024-02-23 00:02:28 UTC
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.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-23 15:13:02 UTC
I've never used `emerge-wrapper`, but aarch64_be-unknown-linux-gnu-emerge -v1 app-arch/zstd works fine for me.
Comment 2 Mike Gilbert gentoo-dev 2024-02-23 15:17:34 UTC
I think something is wrong with the way you set up the cross-compile environment.
Comment 3 vadorovsky 2024-02-24 09:53:42 UTC
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.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-24 11:30:49 UTC
We may want to remove emerge-wrapper or add a warning to if it's broken somehow...