all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#72725: [core-updates] [i686-linux] guile-static fails to build
@ 2024-08-20  7:34 Ricardo Wurmus
  2024-08-21 22:34 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Wurmus @ 2024-08-20  7:34 UTC (permalink / raw)
  To: 72725

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




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#72725: [core-updates] [i686-linux] guile-static fails to build
  2024-08-20  7:34 bug#72725: [core-updates] [i686-linux] guile-static fails to build Ricardo Wurmus
@ 2024-08-21 22:34 ` Ludovic Courtès
  2024-08-22 11:59   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2024-08-21 22:34 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 72725

Hi,

Ricardo Wurmus <rekado@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@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@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’.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#72725: [core-updates] [i686-linux] guile-static fails to build
  2024-08-21 22:34 ` Ludovic Courtès
@ 2024-08-22 11:59   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2024-08-22 11:59 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 72725-done

Ludovic Courtès <ludo@gnu.org> skribis:

> Ricardo Wurmus <rekado@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’.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-22 12:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-20  7:34 bug#72725: [core-updates] [i686-linux] guile-static fails to build Ricardo Wurmus
2024-08-21 22:34 ` Ludovic Courtès
2024-08-22 11:59   ` 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.