| Summary: | sys-apps/flashrom-1.2-r2: src_configure fails on arm64 with "Target arch is unknown" due to unexpected archtest output | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Roy Bamford <neddyseagoon> |
| Component: | Current packages | Assignee: | Marek Szuba <marecki> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | CC: | jstein |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | ARM64 | ||
| OS: | Linux | ||
| URL: | https://sourceware.org/pipermail/libc-alpha/2020-May/113971.html | ||
| See Also: | https://bugs.gentoo.org/show_bug.cgi?id=720210 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | Full output of gcc -E archtest.c with gcc:9 | ||
|
Description
Roy Bamford
2020-11-06 19:52:17 UTC
Could you explain what exactly Cavium Thunder II mentioned under Package Settings got to do with this bug? I feel rather confused right now. Regarding this problem, I've got no way of trying to reproduce it myself so I'll have to ask *you* to run some tests. Lets begin like this: - take the files: archtest.c and platform.h from the flashrom tarball; - on the affected host, run gcc -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"' What do you get? I have access to two different arm64 systems. sys-apps/flashrom-1.2-r2 builds on one, the 96 core Cavium Thunder, which is how i had it on the Raspberry Pi4. My workflow is build there, push to a binhost and install on the Pi from the binhost. That's how I got sys-apps/flashrom-1.2-r2 installed on the Pi even though it won't build there. My attempt to build sys-apps/flashrom-1.2-r2 on the Pi4 was triggered by a post on the forums. The mention of the Cavium Thunder was to explain that a piece of the requested output for bug reports, namely the sys-apps/flashrom-1.2-r2::gentoo was built with the following: ... was not relevant. Pi4_~arm64 ~ # emerge sys-apps/flashrom -1 Let it fail ... cd /var/tmp/portage/sys-apps/flashrom-1.2-r2/work/flashrom-v1.2 Your test produces ... Pi4_~arm64 /var/tmp/portage/sys-apps/flashrom-1.2-r2/work/flashrom-v1.2 # gcc -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"' Use sigaction with SA_RESTART instead arm To add to my confusion sys-apps/flashrom-1.2-r2 no longer builds on the Cavium. It produces the same failure and same test output as above. ... but it has built as its in the binary packages. (In reply to Roy Bamford from comment #2) > Use sigaction with SA_RESTART instead This line should very much not be there. Could you find out where exactly it comes from? It's probably part of the 'gcc -E' output but better to make sure. Oh, and if I see correctly that you have used gcc-10 try this test with gcc-9 as well. For the record, the message itself comes from glibc-2.32 - but we still have to identify what bit of the flashrom build chain tries to use the deprecated signal (pretty sure it's not anything in flashrom itself, given archtest is not even compiled), or why the problem appears to be arm64-specific. Created attachment 670466 [details]
Full output of gcc -E archtest.c with gcc:9
Could you give 1.2-r3 a go? Mind you, you'll have to unmask it. Not really fixed but since meson-based sys-apps/flashrom-1.2-r3 seems to be finally usable, I do not think we have to mess with the Makefile any more. sys-apps/flashrom-1.2-r3 builds on arm64 but the built system is inconsistent. See the warnings. Not yet run time tested on my Pi4 as the one in use is current. >>> Emerging (1 of 1) sys-apps/flashrom-1.2-r3::gentoo * flashrom-v1.2.tar.bz2 BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking flashrom-v1.2.tar.bz2 to /var/tmp/portage/sys-apps/flashrom-1.2-r3/work >>> Source unpacked in /var/tmp/portage/sys-apps/flashrom-1.2-r3/work >>> Preparing source in /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-v1.2 ... * Applying flashrom-1.2_meson-fixes.patch ... [ ok ] * Applying flashrom-1.2_meson-install-manpage.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-v1.2 ... meson setup --buildtype plain --libdir lib64 --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/sys-apps/flashrom-1.2-r3/temp/meson.aarch64-unknown-linux-gnu.arm64.ini -Dconfig_atahpt=false -Dconfig_atapromise=false -Dconfig_atavia=false -Dconfig_buspirate_spi=true -Dconfig_ch341a_spi=true -Dconfig_dediprog=true -Dconfig_developerbox_spi=true -Dconfig_digilent_spi=true -Dconfig_drkaiser=false -Dconfig_dummy=true -Dconfig_ft2232_spi=true -Dconfig_gfxnvidia=false -Dconfig_internal=false -Dconfig_internal_dmi=true -Dconfig_it8212=false -Dconfig_jlink_spi=false -Dconfig_linux_mtd=false -Dconfig_linux_spi=false -Dconfig_mstarddc_spi=false -Dconfig_nic3com=false -Dconfig_nicintel_eeprom=false -Dconfig_nicintel_spi=false -Dconfig_nicintel=false -Dconfig_nicnatsemi=false -Dconfig_nicrealtek=false -Dconfig_ogp_spi=false -Dconfig_pickit2_spi=true -Dconfig_pony_spi=true -Dconfig_rayer_spi=false -Dconfig_satamv=false -Dconfig_satasii=false -Dconfig_stlinkv3_spi=true -Dconfig_serprog=false -Dconfig_usbblaster_spi=false /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-v1.2 /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-1.2-build The Meson build system Version: 0.55.3 Source dir: /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-v1.2 Build dir: /var/tmp/portage/sys-apps/flashrom-1.2-r3/work/flashrom-1.2-build Build type: native build Project name: flashromutils Project version: v1.2 C compiler for the host machine: aarch64-unknown-linux-gnu-gcc (gcc 10.2.0 "aarch64-unknown-linux-gnu-gcc (Gentoo 10.2.0-r3 p4) 10.2.0") C linker for the host machine: aarch64-unknown-linux-gnu-gcc ld.gold 2.34 Host machine cpu family: aarch64 Host machine cpu: aarch64 Compiler for C supports arguments -Wwrite-strings: YES Compiler for C supports arguments -Wno-unused-parameter -Wunused-parameter: YES Compiler for C supports arguments -Wno-address-of-packed-member -Waddress-of-packed-member: YES Compiler for C supports arguments -Wno-enum-conversion -Wenum-conversion: YES Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES Checking for function "clock_gettime" : YES Checking for function "strnlen" : YES Check usable header "sys/utsname.h" : YES Found pkg-config: /usr/bin/aarch64-unknown-linux-gnu-pkg-config (0.29.2) Run-time dependency libftdi1 found: YES 1.4 Run-time dependency libusb-1.0 found: YES 1.0.23 WARNING: Project targeting '>=0.47.0' but tried to use feature introduced in '0.50.0': install arg in configure_file. Configuring flashrom.8 using configuration Build targets in project: 3 WARNING: Project specifies a minimum meson_version '>=0.47.0' but uses features which were added in newer versions: * 0.50.0: {'install arg in configure_file'} Found ninja-1.10.1 at /usr/bin/ninja >>> Source configured. |