Hi Thomas, Thomas Schwinge <tho...@schwinge.name> skribis:
> On Sun, 16 Oct 2011 21:35:29 +0200, l...@gnu.org (Ludovic > =?iso-8859-1?Q?Court=E8s?=) wrote: >> In the meantime I’ve changed the commit SHA1 [0], and it does lead to a > >> [0] >> http://git.savannah.gnu.org/cgit/hydra-recipes.git/commit/?id=7f49a0c373af0e592c8ee4302ddbab6722b20fd4 > > I still don't understand why you can't use origin/baseline instead of the > verbatim and volatile SHA1? Here it goes: 1. Hydra uses a generic script [0] to check out a Git tree. I tweaked that script to run ‘tg remote --populate’ on TopGit repos, but I’m not gonna implement the “if this is the Hurd’s glibc repo, see if there’s a branch called ‘baseline’, and get in touch with bug-hurd to check if anything else is needed” strategy. ;-) 2. The build itself is done with Nix in a chroot with no network access. If there’s a non-specific way to solve this problem, I’m happy to hear it. [0] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/build-support/fetchgit/nix-prefetch-git >> patch that applies to current Sourceware libc [1]. >> >> However the resulting code fails to cross-build [2]: >> >> --8<---------------cut here---------------start------------->8--- >> gawk -f ../scripts/gen-as-const.awk ../sysdeps/i386/tlsdesc.sym \ >> | i586-pc-gnu-gcc -S -o >> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.hT3 >> -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings >> -fmerge-all-constants -g -Wno-parentheses -Wstrict-prototypes >> -mpreferred-stack-boundary=4 -I../include >> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/csu >> >> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build >> -I../sysdeps/i386/elf -I../sysdeps/mach/hurd/i386 -I../sysdeps/mach/hurd >> -I../sysdeps/gnu -I../sysdeps/unix/bsd/bsd4.4 -I../sysdeps/unix/mman >> -I../sysdeps/mach/i386 -I../sysdeps/mach -I../sysdeps/i386/i586 >> -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 >> -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 >> -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 >> -I../sysdeps/unix/bsd -I../sysdeps/unix/common -I../sysdeps/unix/inet >> -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/ieee754 >> -I../sysdeps/generic/elf -I../sysdeps/generic -I../hurd >> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/hurd/ >> -I../mach >> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/mach/ >> -I.. -I../libio -I. -nostdinc -isystem >> /nix/store/8fhsm5pzdzamdfcr9mv6zya7mpv8x754-gcc-4.5.1-i586-pc-gnu-stage-final/lib/gcc/i586-pc-gnu/4.5.1/include >> -isystem >> /nix/store/8fhsm5pzdzamdfcr9mv6zya7mpv8x754-gcc-4.5.1-i586-pc-gnu-stage-final/lib/gcc/i586-pc-gnu/4.5.1/include-fixed >> -isystem >> /nix/store/4jxl1k33n0zly3yhcf9phbxhyhlqbm7i-hurd-headers-20110516/include >> -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI >> -x c - \ >> -MD -MP -MF >> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h.dT >> -MT >> '/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h.d >> >> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h' >> In file included from ../sysdeps/mach/hurd/tls.h:31:0, >> from ../sysdeps/mach/hurd/i386/tls.h:25, >> from ../sysdeps/mach/i386/sysdep.h:26, >> from <stdin>:2: >> /nix/store/364bfszli2pgpk58sfqpw5iqir4jcdv0-gnumach-headers-20100512/include/mach/mig_errors.h:71:3: >> warning: function declaration isn't a prototype >> <stdin>: In function 'dummy': >> <stdin>:7:67: error: invalid use of undefined type 'struct pthread' >> make[2]: *** >> [/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h] >> Error 1 >> --8<---------------cut here---------------end--------------->8--- >> >> I think the problem is that i386/tlsdesc.sym is being used in lieu of >> mach/hurd/i386/tlsdesc.sym, right? > >> [1] http://hydra.nixos.org/job/gnu/glibc-hurd/tarball >> [2] http://hydra.nixos.org/build/1458641 > > $ wget > 'http://hydra.nixos.org/build/1458856/download/3/glibc-2.14-375-gaac1330.tar.xz' > $ xz -d < glibc-2.14-375-gaac1330.tar.xz | tar -x > $ find glibc-2.14-375-gaac1330/ -name tlsdesc.sym > glibc-2.14-375-gaac1330/sysdeps/x86_64/tlsdesc.sym > glibc-2.14-375-gaac1330/sysdeps/i386/tlsdesc.sym > > But <http://hydra.nixos.org/build/1458856/log/raw> says: ``patching file > sysdeps/mach/hurd/i386/tlsdesc.sym''. I guess this is for you to debug. > :-) Indeed. :-) Hopefully <http://git.savannah.gnu.org/cgit/hydra-recipes.git/commit/?id=e7f28b5a6cdace426d396411da949e376bd1517a> fixes it. Thanks, Ludo’.