GNU bug report logs - #72725
[core-updates] [i686-linux] guile-static fails to build

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Tue, 20 Aug 2024 07:36:02 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 72725 in the body.
You can then email your comments to 72725 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#72725; Package guix. (Tue, 20 Aug 2024 07:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 20 Aug 2024 07:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: bug-guix <at> gnu.org
Subject: [core-updates] [i686-linux] guile-static fails to build
Date: Tue, 20 Aug 2024 09:34:22 +0200
I'm attempting to use "guix deploy" to deploy to a i686-linux system.
The build of /gnu/store/c9ivpr5g7arp67kgfhnp37z22gadg6zp-guile-static-3.0.9.drv fails.  This is needed
for the initrd derivations /gnu/store/nqrfgnq84i8qrabzf2022rhw926i70ab-guile-static-initrd-3.0.9.drv
and /gnu/store/gz0p3q9zvqyvlbpsqaqy1842vjjn66xm-raw-initrd.drv.

Here is how guile-static fails:

--8<---------------cut here---------------start------------->8---
  CCLD     guile
lto-wrapper: warning: using serial compilation of 22 LTRANS jobs
ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_dlopen':
/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/<artificial>:78:(.text+0x2d): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_tmpnam':
/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/posix.c:1757:(.text+0x1f62): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_odd_p':
/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:490:(.text+0x4a02): undefined reference to `fmod'
ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_even_p':
/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:517:(.text+0x4af2): undefined reference to `fmod'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2866: guile] Error 1
make[3]: Leaving directory '/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile'
make[2]: *** [Makefile:2725: all] Error 2
make[2]: Leaving directory '/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile'
make[1]: *** [Makefile:2152: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9'
make: *** [Makefile:2038: all] Error 2
--8<---------------cut here---------------end--------------->8---

This result was obtained on core-updates commit aab1fe98574e1cd4c7911c1e5571b3733fb71d67.

-- 
Ricardo




Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 20 Aug 2024 15:20:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#72725; Package guix. (Wed, 21 Aug 2024 22:36:02 GMT) Full text and rfc822 format available.

Message #10 received at 72725 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 72725 <at> debbugs.gnu.org
Subject: Re: bug#72725: [core-updates] [i686-linux] guile-static fails to build
Date: Thu, 22 Aug 2024 00:34:28 +0200
Hi,

Ricardo Wurmus <rekado <at> elephly.net> skribis:

> Here is how guile-static fails:
>
>   CCLD     guile
> lto-wrapper: warning: using serial compilation of 22 LTRANS jobs
> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_dlopen':
> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/<artificial>:78:(.text+0x2d): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_tmpnam':
> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/posix.c:1757:(.text+0x1f62): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_odd_p':
> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:490:(.text+0x4a02): undefined reference to `fmod'
> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_even_p':
> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:517:(.text+0x4af2): undefined reference to `fmod'

The ‘fmod’ symbol is missing from the i686-linux libm.a, but it’s
available in the x86_64 libm-2.39.a:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell --pure -s x86_64-linux gcc-toolchain <at> 11{,:static} -- gcc -Wall -O2 fmod.c -lm -static
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, not stripped

$ ./pre-inst-env guix shell --pure -s i686-linux gcc-toolchain <at> 11{,:static} -- gcc -Wall -O2 fmod.c -lm -static
ld: /tmp/ccvt0V2Q.o: in function `main':
fmod.c:(.text.startup+0x3c): undefined reference to `fmod'
collect2: error: ld returned 1 exit status
$ cat fmod.c
#include <math.h>
#include <stdlib.h>

int main (int argc, char *argv[])
{
  return fmod (atof (argv[1]), atof (argv[2]));
}
--8<---------------cut here---------------end--------------->8---

I’m not sure why that is the case; i686 seems to be the only one with
that problem.

Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 22 Aug 2024 12:01:01 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Thu, 22 Aug 2024 12:01:02 GMT) Full text and rfc822 format available.

Message #15 received at 72725-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 72725-done <at> debbugs.gnu.org
Subject: Re: bug#72725: [core-updates] [i686-linux] guile-static fails to build
Date: Thu, 22 Aug 2024 13:59:28 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> Ricardo Wurmus <rekado <at> elephly.net> skribis:
>
>> Here is how guile-static fails:
>>
>>   CCLD     guile
>> lto-wrapper: warning: using serial compilation of 22 LTRANS jobs
>> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_dlopen':
>> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/<artificial>:78:(.text+0x2d): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
>> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans14.ltrans.o: in function `scm_tmpnam':
>> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/posix.c:1757:(.text+0x1f62): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
>> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_odd_p':
>> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:490:(.text+0x4a02): undefined reference to `fmod'
>> ld: /tmp/guix-build-guile-static-3.0.9.drv-0/ccfveS8L.ltrans3.ltrans.o: in function `scm_even_p':
>> /tmp/guix-build-guile-static-3.0.9.drv-0/guile-3.0.9/libguile/numbers.c:517:(.text+0x4af2): undefined reference to `fmod'
>
> The ‘fmod’ symbol is missing from the i686-linux libm.a, but it’s
> available in the x86_64 libm-2.39.a:

This is an upstream bug, fixed in glibc 2.40 (glibc commit
0b716305dfb48c2d13ed4f7d06c082b90c1d226f):

  https://sourceware.org/bugzilla/show_bug.cgi?id=31488

Fixed in commit 87cc46aefce0072dc83e667d85a59a34eecfd89f.

Thanks,
Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 20 Sep 2024 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 323 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.