[-- Attachment #1: Type: text/plain, Size: 955 bytes --] Hi, when building system for Aarch64 for Pinebook Pro, there are 2 tests failing: $ guix describe Generation 13 Dec 24 2021 03:33:28 (current) guix ba744fa repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ba744faeb104a1132d9f6ed04fc296b23bc09334 $ guix system build pinebook-pro.scm make check-TESTS check-local ... FAIL: tests/gremlin.scm ... FAIL: tests/guix-system.sh ... ============================================================================ Testsuite summary for GNU Guix 1.3.0-17.2a49ddb ============================================================================ # TOTAL: 2077 # PASS: 1970 # SKIP: 104 # XFAIL: 1 # FAIL: 2 # XPASS: 0 # ERROR: 0 Could somebody please tell me how to fix these tests? Log and system configuration files are attached. FIY the command is run on Pinebook Pro itself, on x86_64 I don't get errors in these tests when building system for Intel laptop Merry Christmas ---- Petr [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: pinebook-pro.scm --] [-- Type: text/x-scheme; name=pinebook-pro.scm, Size: 3986 bytes --] ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu system images pinebook-pro) #:use-module (gnu bootloader) #:use-module (gnu bootloader u-boot) #:use-module (gnu image) #:use-module (srfi srfi-1) #:use-module (gnu packages linux) #:use-module (gnu packages wm) #:use-module (gnu packages xdisorg) #:use-module (gnu packages version-control) #:use-module (gnu packages vim) #:use-module (gnu packages certs) #:use-module (gnu packages tmux) #:use-module (gnu packages suckless) #:use-module (gnu services xorg) ;#:use-module (gnu platforms arm) #:use-module (gnu services) #:use-module (gnu services desktop) #:use-module (gnu services ssh) #:use-module (gnu services sddm) #:use-module (gnu services base) #:use-module (gnu system) #:use-module (gnu system nss) #:use-module (gnu system accounts) #:use-module (gnu system shadow) #:use-module (gnu system file-systems) #:use-module (gnu system image) #:use-module (srfi srfi-26) #:export (pinebook-pro-barebones-os pinebook-pro-image-type pinebook-pro-barebones-raw-image)) (define pinebook-pro-barebones-os (operating-system (host-name "valhalla") (timezone "Europe/Prague") (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-pinebook-pro-rk3399-bootloader) (targets '("/dev/vda")))) (initrd-modules '()) (packages (append (list sway swaybg swayidle swaylock-effects redshift-wayland git vim nss-certs tmux st) %base-packages)) (users (cons (user-account (name "cylon2p0") (group "users") (home-directory "/home/cylon2p0") (supplementary-groups '("wheel" "netdev" "kvm" "tty" "input" ;"adbusers" ;"docker" "realtime" "lp" "audio" "dialout" "video"))) %base-user-accounts)) (groups (cons (user-group (system? #t) (name "realtime")) %base-groups)) ;(kernel linux-arm64) (kernel linux-libre-arm64-generic) (file-systems (cons (file-system (device "/dev/mmcblk2p1") (mount-point "/") (type "ext4")) %base-file-systems)) (name-service-switch %mdns-host-lookup-nss) (services (cons* ;(service sddm-service-type ; (sddm-configuration ; (display-server "wayland"))) (screen-locker-service swaylock-effects "swaylock") (service openssh-service-type (openssh-configuration)) ; (permit-root-login #f) ;(service dhcp-client-service-type) (service agetty-service-type (agetty-configuration (extra-options '("-L")) ; no carrier detect (baud-rate "1500000") (term "vt100") (tty "ttyS2"))) (remove (lambda (service) (eq? (service-kind service) gdm-service-type)) (modify-services %desktop-services)))))) ;; Return the default image. pinebook-pro-barebones-os [-- Attachment #3: xbx6fi00imhhdg2m4yh3z2flyj1h42-guix-1.3.0-17.2a49ddb.drv.bz2 --] [-- Type: application/x-bzip2, Size: 335800 bytes --]
[-- Attachment #1: Type: text/plain, Size: 361 bytes --] Hello Ludo and Chris, could you please help me fix the failing test for gremlin in tests/gremlin.scm (file-needed/recursive) on Aarch64? I've tried to understand what the gremlin project is and what this test is supposed to do but couldn't come up with a solution other than to skip the test. Log attached, failed test is on line 10999. Thanks Petr [-- Attachment #2: guix-1.3.0-21.e427593.drv.bz2 --] [-- Type: application/x-bzip2, Size: 118745 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2647 bytes --] Hi phodina, phodina <phodina@protonmail.com> writes: > could you please help me fix the failing test for gremlin in > tests/gremlin.scm (file-needed/recursive) on Aarch64? > > I've tried to understand what the gremlin project is and what this > test is supposed to do but couldn't come up with a solution other than > to skip the test. > > Log attached, failed test is on line 10999. A bug report has been opened for this issue here: https://issues.guix.gnu.org/52943 I commented on that bug report because the test was failing on powerpc64le-linux for unrelated reasons, and I was investigating that separate powerpc64le-linux issue. I'm not sure what the problem is on aarch64-linux. You can find my summary here: https://issues.guix.gnu.org/52943#11 Skipping the test, or changing it so it passes on aarch64-linux without changing the behavior of gremlin, is certainly one option. However, doing so would be the same as saying, "It is OK that, on aarch64-linux, ld-linux-aarch64.so is missing from ELF files, even though it is not missing on other architectures." However, I don't know if that's normal, so I can't say confidently whether it's OK. I can think of at least the following things that someone could do to investigate more: - Ask the glibc folks on one of their email lists if this situation looks normal (a NEEDED entry for ld-linux-aarch64.so is missing from the dynamic section of an ELF file, but ldd prints ld-linux-aarch64.so, anyway). Maybe they can give us a direct answer about whether or not it is normal. - Inspect ELF files of dynamically linked binaries on the aarch64 port of other distros, such as Debian or Fedora, and reply to the bug report with information about whether ld-linux-aarch64.so is present (see the bug report for examples of how to invoke objdump or readelf to see the dynamic section of an ELF file). If it's missing, then does ldd print it when invoked on the ELF file? This could at least tell us if it's common for ld-linux-aarch64.so to be missing in ELF files, and for ldd to add it even though it's missing. - Inspect the glibc source code to determine why it adds ld-linux-aarch64.so even though there is no NEEDED entry for it in the dynamic section of the ELF file. This could help us to understand what's going on and whether it's a problem. If you want to help with any of those tasks, or if you have any other ideas, your help would be welcome. Please remember to update the bug report if you do so. -- Chris PGP: https://savannah.gnu.org/people/viewgpg.php?user_id=106836 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --]
Thanks Chris for the detailed response. I'll check the threads and investigate the points you suggested. ---- Petr