Re: Cross-compiling bootstrap tarballs fails on core-updates

2018-04-22 Thread Ludovic Courtès
Hello Marius,

Marius Bakke  skribis:

> There seems to be a couple of different problems here.
>
> 'patch' fails to build due to a conflicting declaration of
> '__mktime_internal':
>
>   CCLD patch
> /gnu/store/9v09kidvqykyk2kh26q297di3lkjc8vy-glibc-cross-arm-linux-gnueabihf-2.27-static/lib/libc.a(mktime.o):
>  In function `__mktime_internal':
> /tmp/guix-build-glibc-cross-arm-linux-gnueabihf-2.27.drv-0/glibc-2.27/time/mktime.c:353:
>  multiple definition of `__mktime_internal'
> ../lib/libpatch.a(mktime.o):/tmp/guix-build-patch-2.7.6.drv-0/patch-2.7.6/lib/mktime.c:317:
>  first defined here
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:1230: patch] Error 1
>
>
> Note that there is a warning about __mktime_internal earlier:
>
> In file included from timegm.c:20:0:  
>  
> timegm.c: In function 'rpl_timegm':   
>  
> ../config.h:1974:25: warning: implicit declaration of function 
> '__mktime_internal' [-Wimplicit-function-declaration]
>  #define mktime_internal __mktime_internal
>
> timegm.c:30:28: note: in expansion of macro 'mktime_internal'
>  # define __mktime_internal mktime_internal
>
> timegm.c:39:10: note: in expansion of macro '__mktime_internal'
>return __mktime_internal (tmp, __gmtime_r, _offset);
>
>
> Then we have 'ncurses' failing in the install phase with:
>
> make[1]: Entering directory 
> '/tmp/guix-build-ncurses-6.1.drv-0/ncurses-6.1/progs'
> mkdir -p /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin
> /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install -c -s 
> tic /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/`echo 
> tic|   sed 's/$//'|sed 's,x,x,'|sed 's/$//'`
> strip: Unable to recognise the format of the input file 
> `/gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/tic'
> /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install: strip 
> process terminated abnormally
> make[1]: *** [Makefile:201: install.progs] Error 1

This is fixed by these commits:

  c77835db0 * gnu: tar: Work around a cross-compilation issue.
  b0ff3606b * gnu: ncurses: Do not use "install -s" when cross-compiling.
  d3878d3d5 * gnu: patch: Work around a cross-compilation issue.

Thanks for the heads-up!

Ludo’.



Re: Cross-compiling bootstrap tarballs fails on core-updates

2018-04-17 Thread Chris Marusich
Marius Bakke  writes:

> Building 'bootstrap-tarballs' for other architectures fails on
> core-updates.

Could this be related to the following bug report?

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24841

-- 
Chris


signature.asc
Description: PGP signature


Cross-compiling bootstrap tarballs fails on core-updates

2018-04-16 Thread Marius Bakke
Hello!

Building 'bootstrap-tarballs' for other architectures fails on
core-updates.  Here is the comparison to the previous core-updates
evaluation in December:

https://hydra.gnu.org/eval/109945?compare=109875#tabs-now-fail

There seems to be a couple of different problems here.

'patch' fails to build due to a conflicting declaration of
'__mktime_internal':

--8<---cut here---start->8---
  CCLD patch
/gnu/store/9v09kidvqykyk2kh26q297di3lkjc8vy-glibc-cross-arm-linux-gnueabihf-2.27-static/lib/libc.a(mktime.o):
 In function `__mktime_internal':
/tmp/guix-build-glibc-cross-arm-linux-gnueabihf-2.27.drv-0/glibc-2.27/time/mktime.c:353:
 multiple definition of `__mktime_internal'
../lib/libpatch.a(mktime.o):/tmp/guix-build-patch-2.7.6.drv-0/patch-2.7.6/lib/mktime.c:317:
 first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1230: patch] Error 1
--8<---cut here---end--->8---

Note that there is a warning about __mktime_internal earlier:

--8<---cut here---start->8---
In file included from timegm.c:20:0:
   
timegm.c: In function 'rpl_timegm': 
   
../config.h:1974:25: warning: implicit declaration of function 
'__mktime_internal' [-Wimplicit-function-declaration]
 #define mktime_internal __mktime_internal

timegm.c:30:28: note: in expansion of macro 'mktime_internal'
 # define __mktime_internal mktime_internal

timegm.c:39:10: note: in expansion of macro '__mktime_internal'
   return __mktime_internal (tmp, __gmtime_r, _offset);
--8<---cut here---end--->8---

Then we have 'ncurses' failing in the install phase with:

--8<---cut here---start->8---
make[1]: Entering directory 
'/tmp/guix-build-ncurses-6.1.drv-0/ncurses-6.1/progs'
mkdir -p /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin
/gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install -c -s 
tic /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/`echo tic|  
 sed 's/$//'|sed 's,x,x,'|sed 's/$//'`
strip: Unable to recognise the format of the input file 
`/gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/tic'
/gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install: strip 
process terminated abnormally
make[1]: *** [Makefile:201: install.progs] Error 1
--8<---cut here---end--->8---

The error message here is odd: /gnu/store/.../bin/tic is not installed
yet at this point.  The built binary looks fine however.  Quoth `file`:

/dev/shm/guix-build-ncurses-6.1.drv-0/ncurses-6.1/progs/tic: ELF 32-bit LSB 
executable, ARM, EABI5
version 1 (SYSV), dynamically linked, interpreter 
/gnu/store/jiw5wrjvcipfxnpl56572x4bf6gdvypf-glibc-cross-arm-linux-gnueabihf-2.27/lib/ld-linux-armhf.so.3,
 for GNU/Linux 2.6.32, with debug_info, not stripped

I'm not sure why these failures happen only when cross-compiling.  The
respective native builds are okay.  Thoughts?

For those following along at home, you can reproduce these failures by
checking out the core-updates branch, and then run:

./pre-inst-env guix build --target=arm-linux-gnueabihf bootstrap-tarballs

(or any other target triplet, they fail in the same way)


signature.asc
Description: PGP signature