When building, say, glibc 2.31 using a compiler that's itself linked against 2.33, linking fails with: gcc -Wl,-rpath-link=/tmp/guix-build-glibc-2.31.drv-0/build:/tmp/guix-build-glibc-2.31.drv-0/build/math:/tmp/guix-build-glibc-2.31.drv-0/build/elf:/tmp/guix-build-glibc-2.31.drv-0/build/dlfcn:/tmp/guix-build-glibc-2.31.drv-0/build/nss:/tmp/guix-build-glibc-2.31.drv-0/build/nis:/tmp/guix-build-glibc-2.31.drv-0/build/rt:/tmp/guix-build-glibc-2.31.drv-0/build/resolv:/tmp/guix-build-glibc-2.31.drv-0/build/mathvec:/tmp/guix-build-glibc-2.31.drv-0/build/support:/tmp/guix-build-glibc-2.31.drv-0/build/crypt:/tmp/guix-build-glibc-2.31.drv-0/build/nptl -nostdlib -nostartfiles -o /tmp/guix-build-glibc-2.31.drv-0/build/support/links-dso-program -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /tmp/guix-build-glibc-2.31.drv-0/build/csu/crt1.o /tmp/guix-build-glibc-2.31.drv-0/build/csu/crti.o `gcc --print-file-name=crtbegin.o` /tmp/guix-build-glibc-2.31.drv-0/build/support/links-dso-program.o -lstdc++ -lgcc -lgcc_s -Wl,-dynamic-linker=/gnu/store/...-glibc-2.31/lib/ld-linux-x86-64.so.2 /tmp/guix-build-glibc-2.31.drv-0/build/libc.so.6 /tmp/guix-build-glibc-2.31.drv-0/build/libc_nonshared.a -Wl,--as-needed /tmp/guix-build-glibc-2.31.drv-0/build/elf/ld.so -Wl,--no-as-needed -lgcc `gcc --print-file-name=crtend.o` /tmp/guix-build-glibc-2.31.drv-0/build/csu/crtn.o ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `fstat64@GLIBC_2.33' ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `lstat@GLIBC_2.33' ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `stat@GLIBC_2.33' collect2: error: ld returned 1 exit status This is unsurprising given that libstdc++.so here is linked against 2.33, whereas libc.so.6 here is 2.31. This patch works around it by not building the offending program. diff --git a/support/Makefile b/support/Makefile index bb9889ef..6614943b 100644 --- a/support/Makefile +++ b/support/Makefile @@ -210,12 +210,7 @@ CFLAGS-support_paths.c = \ # -fexcess-precision=standard. CFLAGS-timespec.c += -fexcess-precision=standard -ifeq (,$(CXX)) LINKS_DSO_PROGRAM = links-dso-program-c -else -LINKS_DSO_PROGRAM = links-dso-program -LDLIBS-links-dso-program = -lstdc++ -lgcc -lgcc_s $(libunwind) -endif ifeq (yes,$(have-selinux)) LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux t:space:mode:
authorChristopher Baines <mail@cbaines.net>2023-08-26 12:09:36 +0100
committerChristopher Baines <mail@cbaines.net>2023-08-26 12:18:08 +0100
commitaba7c73d048f5c6cc3cf78e0fd84fe407c847bc6 (patch)
treed20371e7ad1ea04b1046370fdd15a420cd859197 /gnu/services
parenteeb71d778f149834015858467fbeeb1276d96d1d (diff)
downloadguix-aba7c73d048f5c6cc3cf78e0fd84fe407c847bc6.tar.gz
guix-aba7c73d048f5c6cc3cf78e0fd84fe407c847bc6.zip
services: guix-build-coordinator: Specify a working directory.
Mostly so that core dumps end up here. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Specify a working directory.
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/guix.scm1
1 files changed, 1 insertions, 0 deletions
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 81bfe45e4e..8bcce30cde 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -365,6 +365,7 @@
#:guile guile))
#:user #$user
#:group #$group
+ #:directory "/var/lib/guix-build-coordinator"
#:pid-file "/var/run/guix-build-coordinator/pid"
;; Allow time for migrations to run
#:pid-file-timeout 60