* bug#62936: [core-updates] pre-inst-env no longer works @ 2023-04-18 14:51 Brian Cully via Bug reports for GNU Guix 2023-04-19 8:51 ` Simon Tournier 2023-04-19 16:28 ` bug#62949: libgcrypt version in core-updates Andreas Enge 0 siblings, 2 replies; 12+ messages in thread From: Brian Cully via Bug reports for GNU Guix @ 2023-04-18 14:51 UTC (permalink / raw) To: 62936 After re-configuring my system with core updates and rebooting, I'm no longer able to use Guix' ‘pre-inst-env’ command to do testing: --8<---------------cut here---------------start------------->8--- ~/src/guix-core-updates $ ./pre-inst-env -- guix build zsh hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines: guix install glibc-locales export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" See the "Application Setup" section in the manual, for more info. guix build: error: gcry_md_hash_buffer: Function not implemented ~/src/guix-core-updates $ --8<---------------cut here---------------end--------------->8--- System guix (which is now from core-updates on my system) works fine: --8<---------------cut here---------------start------------->8--- ~/src/guix-core-updates $ guix build zsh /gnu/store/viwf9ar2cgly6im3yk9wf2c1dq8l1z3g-zsh-5.8.1 --8<---------------cut here---------------end--------------->8--- I'm not sure what's going on with the locales warning above, but I assume it's related to #62934. -bjc ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-18 14:51 bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix @ 2023-04-19 8:51 ` Simon Tournier 2023-04-19 11:29 ` Brian Cully via Bug reports for GNU Guix 2023-04-19 16:28 ` bug#62949: libgcrypt version in core-updates Andreas Enge 1 sibling, 1 reply; 12+ messages in thread From: Simon Tournier @ 2023-04-19 8:51 UTC (permalink / raw) To: Brian Cully, 62936 Hi, On Tue, 18 Apr 2023 at 10:51, Brian Cully via Bug reports for GNU Guix <bug-guix@gnu.org> wrote: > ~/src/guix-core-updates $ ./pre-inst-env -- guix build zsh Are you sure about the dash-dash (--) with ./pre-inst-env? I get this: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix describe Git checkout: repository: /home/simon/src/guix/wk/core-updates/ branch: core-updates commit: 1c86be2fd69d84f536518cc5e4a32c067e851709 $ ./pre-inst-env -- guix describe ./pre-inst-env: 55: exec: --: not found --8<---------------cut here---------------end--------------->8--- Cheers, simon ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-19 8:51 ` Simon Tournier @ 2023-04-19 11:29 ` Brian Cully via Bug reports for GNU Guix 2023-04-19 13:41 ` Ludovic Courtès 0 siblings, 1 reply; 12+ messages in thread From: Brian Cully via Bug reports for GNU Guix @ 2023-04-19 11:29 UTC (permalink / raw) To: Simon Tournier; +Cc: 62936 Simon Tournier <zimon.toutoune@gmail.com> writes: >> ~/src/guix-core-updates $ ./pre-inst-env -- guix build zsh > > Are you sure about the dash-dash (--) with ./pre-inst-env? > > I get this: > > $ ./pre-inst-env guix describe > Git checkout: > repository: /home/simon/src/guix/wk/core-updates/ > branch: core-updates > commit: 1c86be2fd69d84f536518cc5e4a32c067e851709 > > $ ./pre-inst-env -- guix describe > ./pre-inst-env: 55: exec: --: not found Odd. I didn't think it made a difference (though I don't currently have a working ‘pre-inst-env’) to check with. Do note that the error you're seeing is different from the one I posted, and explicable. If I try without the double dash, there's no difference for me: --8<---------------cut here---------------start------------->8--- ~/src/guix-core-updates $ ./pre-inst-env guix build emacs-magit hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines: guix install glibc-locales export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" See the "Application Setup" section in the manual, for more info. guix build: error: gcry_md_hash_buffer: Function not implemented --8<---------------cut here---------------end--------------->8--- As a fun aside, using ‘guix describe’ also fails, though at a different C binding point: --8<---------------cut here---------------start------------->8--- ~/src/guix-core-updates $ ./pre-inst-env guix describe hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines: guix install glibc-locales export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" See the "Application Setup" section in the manual, for more info. Backtrace: In ice-9/threads.scm: 390:8 19 (_ _) In ice-9/boot-9.scm: 3253:13 18 (_) In ice-9/threads.scm: 390:8 17 (_ _) In ice-9/boot-9.scm: 3544:20 16 (_) 2836:4 15 (save-module-excursion _) 3564:26 14 (_) In unknown file: 13 (primitive-load-path "guix/channels" #<procedure 7f7677c326e0 at ice-9/boot-9.scm:3551?>) In ice-9/boot-9.scm: 3923:23 12 (_) 3411:4 11 (define-module* _ #:filename _ #:pure _ #:version _ #:imports _ #:exports _ # _ # _ # _ ?) 3424:24 10 (_) 222:17 9 (map1 (((git)) ((guix git)) ((guix git-authenticate)) ((guix openpgp) #:select (?)) # ?)) 3327:17 8 (resolve-interface (git) #:select _ #:hide _ #:prefix _ #:renamer _ #:version _) In ice-9/threads.scm: 390:8 7 (_ _) In ice-9/boot-9.scm: 3253:13 6 (_) In ice-9/threads.scm: 390:8 5 (_ _) In ice-9/boot-9.scm: 3544:20 4 (_) 2836:4 3 (save-module-excursion #<procedure 7f7677c206f0 at ice-9/boot-9.scm:3545:21 ()>) 3564:26 2 (_) In unknown file: 1 (primitive-load-path "git" #<procedure 7f7677c32460 at ice-9/boot-9.scm:3551:37 ()>) In git/bindings.scm: 66:8 0 (_ . _) git/bindings.scm:66:8: In procedure git_libgit2_init: Function not implemented --8<---------------cut here---------------end--------------->8--- -bjc ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-19 11:29 ` Brian Cully via Bug reports for GNU Guix @ 2023-04-19 13:41 ` Ludovic Courtès 2023-04-19 14:14 ` Brian Cully via Bug reports for GNU Guix 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2023-04-19 13:41 UTC (permalink / raw) To: Brian Cully; +Cc: 62936, Simon Tournier Hi, Brian Cully <bjc@spork.org> skribis: > git/bindings.scm:66:8: In procedure git_libgit2_init: Function not > implemented That indicates that Guile-Git failed to load libgit2.so, which could be because libgit2.so is linked against a different libc version (since you’re testing core-updates). Make sure everything is in sync, and use ‘guix shell -D guix -C’ to avoid interference! Thanks, Ludo’. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-19 13:41 ` Ludovic Courtès @ 2023-04-19 14:14 ` Brian Cully via Bug reports for GNU Guix 0 siblings, 0 replies; 12+ messages in thread From: Brian Cully via Bug reports for GNU Guix @ 2023-04-19 14:14 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 62936, Simon Tournier Ludovic Courtès <ludo@gnu.org> writes: > Make sure everything is in sync, and use ‘guix shell -D guix -C’ > to > avoid interference! This has made the glibc locale error and the libgit2 bindings to work. Thank you! However, I'm not sure how this happened in the first place. The system I'm running on is running core-updates, from a ‘guix system reconfigure’ and reboot. Where is the improperly linked libgit2 coming from that guix is loading it (and then, only when used with ‘pre-inst-env’). -bjc ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62949: libgcrypt version in core-updates @ 2023-04-19 16:28 ` Andreas Enge 2023-04-19 16:37 ` Ludovic Courtès 2023-04-19 19:51 ` bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix 0 siblings, 2 replies; 12+ messages in thread From: Andreas Enge @ 2023-04-19 16:28 UTC (permalink / raw) To: 62949; +Cc: 62936 Hello, this looks to me like it could be a duplicate of #62936, but since this bug is closed, I am simply opening a new one. The libgcrypt version was updated from 1.8.8 to 1.10.1 from master to core-updates. This causes ./configure to fail like so: ... checking for gcry_md_open in -lgcrypt... no checking for gcrypt.h... yes configure: error: GNU libgcrypt not found; please install it I suppose that the same problem occurred in #62936, but did not manifest itself as clearly since one usually does not rerun configure. It looks as if the API changed incompatibly between the two versions. Andreas ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62949: libgcrypt version in core-updates 2023-04-19 16:28 ` bug#62949: libgcrypt version in core-updates Andreas Enge @ 2023-04-19 16:37 ` Ludovic Courtès 2023-04-19 18:19 ` Andreas Enge 2023-04-19 19:51 ` bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix 1 sibling, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2023-04-19 16:37 UTC (permalink / raw) To: Andreas Enge; +Cc: 62936, 62949 Hallo! Andreas Enge <andreas@enge.fr> skribis: > this looks to me like it could be a duplicate of #62936, but since this > bug is closed, I am simply opening a new one. > > The libgcrypt version was updated from 1.8.8 to 1.10.1 from master to > core-updates. > > This causes ./configure to fail like so: > ... > checking for gcry_md_open in -lgcrypt... no > checking for gcrypt.h... yes > configure: error: GNU libgcrypt not found; please install it > > I suppose that the same problem occurred in #62936, but did not manifest > itself as clearly since one usually does not rerun configure. Given that the ‘guix’ package builds fine on ‘core-updates’, it’s most likely a build environment issue. What does ‘config.log’ say? Ludo’. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62949: libgcrypt version in core-updates 2023-04-19 16:37 ` Ludovic Courtès @ 2023-04-19 18:19 ` Andreas Enge 2023-04-19 20:40 ` Ludovic Courtès 0 siblings, 1 reply; 12+ messages in thread From: Andreas Enge @ 2023-04-19 18:19 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 62949 Am Wed, Apr 19, 2023 at 06:37:08PM +0200 schrieb Ludovic Courtès: > Given that the ‘guix’ package builds fine on ‘core-updates’, it’s most > likely a build environment issue. > What does ‘config.log’ say? My environment is Debian on aarch64, with Guix as the package manager. So it is possible that the Debian environment disturbs what is happening; but I see the problem depending on whether I install the new or the old libgcrypt from Guix. Here are lines from config.log with things related to crypto in them: configure:8987: checking whether Guile-Gcrypt is available and recent enough configure:9005: result: yes ... configure:9062: WARNING: The Guile-Lib requirement was not satisfied (>= 0.2.7); Some features such as the Go importer will not be usable. (not crypto related, but suspicious) ... configure:9435: checking for libgcrypt-config configure:9458: found /home/andreas/.guix-profile/bin/libgcrypt-config configure:9470: result: /home/andreas/.guix-profile/bin/libgcrypt-config configure:9478: checking libgcrypt's library directory configure:9490: result: /gnu/store/2xsdih7m18d0f2kiicxrh9pwinjfwzkj-libgcrypt-1.10.1/lib configure:10900: checking for gcry_md_open in -lgcrypt configure:10922: g++ -o conftest -g -O2 conftest.cpp -lgcrypt >&5 ld: /home/andreas/.guix-profile/lib/libgpg-error.so.0: undefined reference to `pthread_mutex_trylock@GLIBC_2.34' collect2: error: ld returned 1 exit status configure:10922: $? = 1 configure: failed program was: ... configure:10932: result: no configure:10941: checking for gcrypt.h configure:10941: g++ -c -g -O2 conftest.cpp >&5 configure:10941: $? = 0 configure:10941: result: yes configure:10950: error: GNU libgcrypt not found; please install it. So this is not related to libgcrypt, but to libgpg-error.so linked with an old glibc; we should be at 2.35 in core-updates, no? Strangely enough, when I do ldd on /home/andreas/.guix-profile/lib/libgpg-error.so.0 then it is linked with /gnu/store/...-glibc-2.35/lib/libc.so. Where does this pthread_mutex_trylock@GLIBC_2.34 come from? I tried "guix shell --pure -D guix" and then "./configure", but the result is the same. I will try again on my pure Guix machine. Andreas ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62949: libgcrypt version in core-updates 2023-04-19 18:19 ` Andreas Enge @ 2023-04-19 20:40 ` Ludovic Courtès 0 siblings, 0 replies; 12+ messages in thread From: Ludovic Courtès @ 2023-04-19 20:40 UTC (permalink / raw) To: Andreas Enge; +Cc: 62949 Hi, Andreas Enge <andreas@enge.fr> skribis: > My environment is Debian on aarch64, with Guix as the package manager. > So it is possible that the Debian environment disturbs what is happening; > but I see the problem depending on whether I install the new or the old > libgcrypt from Guix. > > Here are lines from config.log with things related to crypto in them: > configure:8987: checking whether Guile-Gcrypt is available and recent enough > configure:9005: result: yes > ... > configure:9062: WARNING: The Guile-Lib requirement was not satisfied (>= 0.2.7); > Some features such as the Go importer will not be usable. > (not crypto related, but suspicious) > ... > configure:9435: checking for libgcrypt-config > configure:9458: found /home/andreas/.guix-profile/bin/libgcrypt-config > configure:9470: result: /home/andreas/.guix-profile/bin/libgcrypt-config > configure:9478: checking libgcrypt's library directory > configure:9490: result: /gnu/store/2xsdih7m18d0f2kiicxrh9pwinjfwzkj-libgcrypt-1.10.1/lib > configure:10900: checking for gcry_md_open in -lgcrypt > configure:10922: g++ -o conftest -g -O2 conftest.cpp -lgcrypt >&5 > ld: /home/andreas/.guix-profile/lib/libgpg-error.so.0: undefined reference to `pthread_mutex_trylock@GLIBC_2.34' That’s the thing: you have libgpg-error.so linked against glibc 2.33 popping up, and that doesn’t fly with glibc 2.35¹. You need to pick up one consistent environment (with a single glibc version) and stick to it. The most reliable way to do that is by using ‘guix shell -C -D guix’ and then running “make clean” to begin with. HTH! Ludo’. ¹ The details are in the ‘NEWS’ for glibc 2.34: * In order to support smoother in-place-upgrades and to simplify the implementation of the runtime all functionality formerly implemented in the libraries libpthread, libdl, libutil, libanl has been integrated into libc. New applications do not need to link with -lpthread, -ldl, -lutil, -lanl anymore. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-19 16:28 ` bug#62949: libgcrypt version in core-updates Andreas Enge 2023-04-19 16:37 ` Ludovic Courtès @ 2023-04-19 19:51 ` Brian Cully via Bug reports for GNU Guix 2023-04-24 8:34 ` Josselin Poiret via Bug reports for GNU Guix 1 sibling, 1 reply; 12+ messages in thread From: Brian Cully via Bug reports for GNU Guix @ 2023-04-19 19:51 UTC (permalink / raw) To: Andreas Enge; +Cc: 62936 I did a full rebuild before submitting this bug: bootstrap -> configure -> make clean -> make. FWIW, I still have the issue with ‘pre-inst-env’ when not run from within ‘guix shell -D guix’, which is a step I have never previously needed. As I just explained on IRC: --8<---------------cut here---------------start------------->8--- <bjc> i'm confused why it's suddenly a problem, though. i've never needed to use ‘guix shell’ with pre-inst-env before [15:41] <bjc> ludo says it's libgit2 linking against an old libc, but i have no idea how that's even possible <bjc> for one thing: my system has been reconfigured. all my packages are now running core-updates, and that includes libgit2. for another: doesn't libgit link with a specific path in /gnu/store, so it'll use whatever glibc it needs regardless of what's in my “system” configuration? --8<---------------cut here---------------end--------------->8--- Even if this is some particular problem to my build environment somehow, I'd love an explanation as to what's going on because I'm extremely confused. In case it matters, I've re-run ‘system reconfigure’ and ‘home reconfigure’ since moving to core-updates, thinking maybe there's some bootstrapping issue. I'm now 2 system and home generations into core-updates, but I have the same problem. Thanks, ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-19 19:51 ` bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix @ 2023-04-24 8:34 ` Josselin Poiret via Bug reports for GNU Guix 2023-04-24 14:44 ` Brian Cully via Bug reports for GNU Guix 0 siblings, 1 reply; 12+ messages in thread From: Josselin Poiret via Bug reports for GNU Guix @ 2023-04-24 8:34 UTC (permalink / raw) To: Brian Cully, Andreas Enge; +Cc: 62936 [-- Attachment #1: Type: text/plain, Size: 2212 bytes --] Hello everyone, Brian Cully via Bug reports for GNU Guix <bug-guix@gnu.org> writes: > I did a full rebuild before submitting this bug: bootstrap -> configure > -> make clean -> make. > > FWIW, I still have the issue with ‘pre-inst-env’ when not run from > within ‘guix shell -D guix’, which is a step I have never previously > needed. As I just explained on IRC: > > --8<---------------cut here---------------start------------->8--- > <bjc> i'm confused why it's suddenly a problem, though. i've never needed to > use ‘guix shell’ with pre-inst-env before [15:41] > <bjc> ludo says it's libgit2 linking against an old libc, but i have no idea > how that's even possible > <bjc> for one thing: my system has been reconfigured. all my packages are now > running core-updates, and that includes libgit2. for another: doesn't > libgit link with a specific path in /gnu/store, so it'll use whatever > glibc it needs regardless of what's in my “system” configuration? > --8<---------------cut here---------------end--------------->8--- > > Even if this is some particular problem to my build environment somehow, > I'd love an explanation as to what's going on because I'm extremely > confused. > > In case it matters, I've re-run ‘system reconfigure’ and ‘home > reconfigure’ since moving to core-updates, thinking maybe there's some > bootstrapping issue. I'm now 2 system and home generations into > core-updates, but I have the same problem. > > Thanks, Ran into this problem myself, here's the reason and the fix: We build a modified `guile` executable in the source tree (for reasons), and use that to run guix. Note that it is only added to PATH by ./pre-inst-env! That guile executable is linked against glibc, and so after upgrading to a newer glibc, it isn't rebuilt (I don't know how autotools cope with external dependencies getting updated). So glibc 2.33 gets loaded, and once (gcrypt) tries to open the libgcrypt library, it fails because that newer library needs at least glibc 2.34. The solution is just to `rm guile` inside of the checkout and run `make` again. Best, -- Josselin Poiret [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 682 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#62936: [core-updates] pre-inst-env no longer works 2023-04-24 8:34 ` Josselin Poiret via Bug reports for GNU Guix @ 2023-04-24 14:44 ` Brian Cully via Bug reports for GNU Guix 0 siblings, 0 replies; 12+ messages in thread From: Brian Cully via Bug reports for GNU Guix @ 2023-04-24 14:44 UTC (permalink / raw) To: Josselin Poiret; +Cc: 62936, Andreas Enge Josselin Poiret <dev@jpoiret.xyz> writes: > Ran into this problem myself, here's the reason and the fix: > > We build a modified `guile` executable in the source tree (for > reasons), > and use that to run guix. Note that it is only added to PATH by > ./pre-inst-env! That guile executable is linked against glibc, > and so > after upgrading to a newer glibc, it isn't rebuilt (I don't know > how > autotools cope with external dependencies getting updated). So > glibc > 2.33 gets loaded, and once (gcrypt) tries to open the libgcrypt > library, > it fails because that newer library needs at least glibc 2.34. > The > solution is just to `rm guile` inside of the checkout and run > `make` > again. With a lot of help on IRC, the culprit was discovered: you *must* run ‘guix pull --branch=core-updates’ to update your current profile's guix. This is because guix does not update itself without the pull. Without this step, the guix in your user profile will keep around its old rules about which C compiler to use, which, in turn, pulls in the old glibc, which causes the error I initially reported. -bjc ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-04-24 14:50 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-04-18 14:51 bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix 2023-04-19 8:51 ` Simon Tournier 2023-04-19 11:29 ` Brian Cully via Bug reports for GNU Guix 2023-04-19 13:41 ` Ludovic Courtès 2023-04-19 14:14 ` Brian Cully via Bug reports for GNU Guix 2023-04-19 16:28 ` bug#62949: libgcrypt version in core-updates Andreas Enge 2023-04-19 16:37 ` Ludovic Courtès 2023-04-19 18:19 ` Andreas Enge 2023-04-19 20:40 ` Ludovic Courtès 2023-04-19 19:51 ` bug#62936: [core-updates] pre-inst-env no longer works Brian Cully via Bug reports for GNU Guix 2023-04-24 8:34 ` Josselin Poiret via Bug reports for GNU Guix 2023-04-24 14:44 ` Brian Cully via Bug reports for GNU Guix
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).