From 99a7bc241df79c791fbf0f17ffdfd19572680b91 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Thu, 11 Jun 2015 19:52:19 +0300 Subject: [PATCH] stdenv/linux: Link statically against isl & cloog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- pkgs/stdenv/linux/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 861b7930b71..1bcf74afa32 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -202,7 +202,7 @@ rec { coreutils = bootstrapTools; name = "bootstrap-gcc-wrapper"; - overrides = pkgs: { + overrides = pkgs: rec { inherit (stage2.pkgs) binutils glibc perl patchelf linuxHeaders; # Link GCC statically against GMP etc. This makes sense because # 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; }; mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; - isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; - cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; - gccPlain = pkgs.gcc.cc; + isl_0_11 = pkgs.isl_0_11.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; + cloog_0_18_0 = pkgs.cloog_0_18_0.override { + 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 ]; }; @@ -287,7 +293,6 @@ rec { [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv - stage3.pkgs.isl_0_11 stage3.pkgs.cloog_0_18_0 ]; overrides = pkgs: {