* New bootstrap binaries (from r16022 in the trunk). Don't set

LD_LIBRARY_PATH since it breaks /bin/sh on non-NixOS platforms (and
  reverted the previous "fix" in r15470).

svn path=/nixpkgs/branches/stdenv-updates/; revision=16029
This commit is contained in:
Eelco Dolstra 2009-06-22 19:49:42 +00:00
parent 01c63dfd3e
commit a830968c53
11 changed files with 9 additions and 23 deletions

View File

@ -1,6 +1,5 @@
# glibc cannot have itself in its rpath.
# Glibc cannot have itself in its RPATH.
export NIX_NO_SELF_RPATH=1
export NIX_DONT_SET_RPATH=1
source $stdenv/setup
@ -41,6 +40,8 @@ postConfigure() {
# test binaries.
export NIX_CFLAGS_LINK=
export NIX_LDFLAGS_BEFORE=
export NIX_DONT_SET_RPATH=1
}

View File

@ -7,7 +7,7 @@
curl = ./curl.bz2;
bootstrapTools = {
url = http://nixos.org/tarballs/stdenv-linux/i686/r13932/bootstrap-tools.cpio.bz2;
sha256 = "12z35wnpcbjwczsr9fldp6bjpz7wh5qwylw6xfrr9l4s7gmk3m8a";
url = http://nixos.org/tarballs/stdenv-linux/i686/r16022/bootstrap-tools.cpio.bz2;
sha256 = "1x014icv3dxfs55qzshxjs9gaczmhwlrn144p4314zvl4xz6wq3f";
};
}

Binary file not shown.

Binary file not shown.

View File

@ -4,7 +4,7 @@
{
bootstrapTools = {
url = http://nixos.org/tarballs/stdenv-linux/x86_64/r13932/bootstrap-tools.cpio.bz2;
sha256 = "135lx2945cxf43g9n39dxcamw6f6n8qp5iqbh4xma575rf2bx5js";
url = http://nixos.org/tarballs/stdenv-linux/x86_64/r16022/bootstrap-tools.cpio.bz2;
sha256 = "1hwmyd9x9lhmb1ckwap2lvf7wi34p1j23v5bw41drym4mfp97ynz";
};
}
}

View File

@ -77,8 +77,6 @@ rec {
param1 = bootstrapTools;
preHook = builtins.toFile "prehook.sh"
''
# Put libpthread.so in LD_LIBRARY_PATH; some libraries need it.
export LD_LIBRARY_PATH=$param1/lib2
# Don't patch #!/interpreter because it leads to retained
# dependencies on the bootstrapTools in the final stdenv.
dontPatchShebangs=1

View File

@ -16,7 +16,7 @@ for i in $out/bin/* $out/libexec/gcc/*/*/*; do
echo patching $i
if ! test -L $i; then
LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \
./patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib $i
./patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i
fi
done
@ -33,16 +33,3 @@ ln -s bzip2 $out/bin/bunzip2
# fetchurl needs curl.
bzip2 -d < $curl > $out/bin/curl
chmod +x $out/bin/curl
# Some libraries have libpthread in their DT_RUNPATH. PatchELF
# doesn't work on libraries, so we need to set LD_LIBRARY_PATH.
# However, setting LD_LIBRARY_PATH to $out/lib will confuse /bin/sh,
# since it might end up loading libraries from a different Glibc. So
# put *only* libpthread in LD_LIBRARY_PATH (via $out/lib2). !!! This
# is a temporary fix (since /bin/sh could have a dependency on
# libpthread as well). A better fix would be to make patchelf work on
# libraries, or to set the RPATH rather than the RUNPATH in the
# binaries in $out/bin (patchelf --force-rpath doesn't quite work,
# since it doesn't discard the existing RUNPATH).
mkdir $out/lib2
ln -s $out/lib/libpthread* $out/lib2