* [bug#74677] [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolchains
@ 2024-12-03 21:15 Sergei Trofimovich
2024-12-09 22:17 ` bug#74677: " Ludovic Courtès
0 siblings, 1 reply; 2+ messages in thread
From: Sergei Trofimovich @ 2024-12-03 21:15 UTC (permalink / raw)
To: 74677; +Cc: Sergei Trofimovich
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#74677: [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolchains
2024-12-03 21:15 [bug#74677] [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolchains Sergei Trofimovich
@ 2024-12-09 22:17 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2024-12-09 22:17 UTC (permalink / raw)
To: Sergei Trofimovich; +Cc: 74677-done
Hi Sergei,
Sergei Trofimovich <slyich@gmail.com> skribis:
> 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`
I pushed as dcaccc8b722cee279c00bb321baa48ae73563931 the patch
Doğan Çeçen submitted to fix this regression and more:
https://issues.guix.gnu.org/74686
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-09 22:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-03 21:15 [bug#74677] [PATCH] nix/local.mk: fix -lgcrypt link on --as-needed toolchains Sergei Trofimovich
2024-12-09 22:17 ` bug#74677: " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.