stdenv/linux: Link statically against isl & cloog

Otherwise this fails on ARM:

/nix/store/jipqp9739n7wrjz40igbk85pqk13s0ad-binutils-2.23.1/bin/ld: /nix/store/92pdpqrqkdf8wjciq1cisvsp8kdz8p2i-gmp-5.1.3/lib/libgmp.a(mp_get_fns.o): relocation R_ARM_MOVW_ABS_NC against `__gmp_allocate_func' can not be used when making a shared object; recompile with -fPIC
/nix/store/92pdpqrqkdf8wjciq1cisvsp8kdz8p2i-gmp-5.1.3/lib/libgmp.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libisl.la] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/tmp/nix-build-isl-0.11.1.drv-3/isl-0.11.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/nix-build-isl-0.11.1.drv-3/isl-0.11.1'
make: *** [all] Error 2
builder for ‘/nix/store/a8ghniifd8d8agqx0cqsh41daa08v11c-isl-0.11.1.drv’ failed with exit code 2
This commit is contained in:
Tuomas Tynkkynen 2015-06-11 19:52:19 +03:00 committed by Eelco Dolstra
parent 2e0373ee66
commit 99a7bc241d

View File

@ -202,7 +202,7 @@ rec {
coreutils = bootstrapTools; coreutils = bootstrapTools;
name = "bootstrap-gcc-wrapper"; name = "bootstrap-gcc-wrapper";
overrides = pkgs: { overrides = pkgs: rec {
inherit (stage2.pkgs) binutils glibc perl patchelf linuxHeaders; inherit (stage2.pkgs) binutils glibc perl patchelf linuxHeaders;
# Link GCC statically against GMP etc. This makes sense because # Link GCC statically against GMP etc. This makes sense because
# these builds of the libraries are only used by GCC, so it # these builds of the libraries are only used by GCC, so it
@ -210,9 +210,15 @@ rec {
gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; isl_0_11 = pkgs.isl_0_11.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; cloog_0_18_0 = pkgs.cloog_0_18_0.override {
gccPlain = pkgs.gcc.cc; stdenv = pkgs.makeStaticLibraries pkgs.stdenv;
isl = isl_0_11;
};
gccPlain = pkgs.gcc.cc.override {
isl = isl_0_11;
cloog = cloog_0_18_0;
};
}; };
extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ]; extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
}; };
@ -287,7 +293,6 @@ rec {
[ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl
paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv
stage3.pkgs.isl_0_11 stage3.pkgs.cloog_0_18_0
]; ];
overrides = pkgs: { overrides = pkgs: {