guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#74677] [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolc


From: Sergei Trofimovich
Subject: [bug#74677] [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolchains
Date: Tue, 3 Dec 2024 21:15:15 +0000

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8a7bd211d21f06c1234fbb82bb905d202d58f598
introduced a build regression on Gentoo as:

    x86_64-pc-linux-gnu-g++ -Wall -std=c++11 -O2 -pipe   -Wl,-O1 
-Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--hash-style=gnu -lgcrypt -o 
guix-daemon nix/nix-daemon/guix_daemon-nix-daemon.o 
nix/nix-daemon/guix_daemon-guix-daemon.o libstore.a libutil.a libformat.a -lz 
-lsqlite3  -lbz2
    /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: 
nix/nix-daemon/guix_daemon-guix-daemon.o: in function `main':
guix-daemon.cc:(.text.startup+0x62): undefined reference to `gcry_check_version'

This happens because:
- Gentoo linker is using --Wl,-as-needed by default
- -lgcrypt is passed before actual use of it's symbols in `guix-daemon.cc`

The change uses `LIBGCRYPT_LDFLAGS` as if it was `LIBGCRYPT_LIBS`.

* nix/local.mk (guix_daemon_LDADD): Use LIBGCRYPT_LDFLAGS instead of
  unset LIBGCRYPT_LIBS.
---
 nix/local.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nix/local.mk b/nix/local.mk
index 8a2b2b88e8..50368457dd 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -124,7 +124,7 @@ guix_daemon_CPPFLAGS =                              \
 
 guix_daemon_LDADD =                            \
   libstore.a libutil.a libformat.a -lz         \
-  $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
+  $(SQLITE3_LIBS) $(LIBGCRYPT_LDFLAGS)
 
 guix_daemon_headers =                          \
   %D%/nix-daemon/shared.hh
-- 
2.47.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]