From 88fd6601d81da77eb9792b7aeceb1db95365ec89 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 29 Mar 2023 18:56:10 -0600 Subject: [PATCH] stdenv: remove the NIX_LIB*_IN_SELF_RPATH environment variables The NIX_LIB64|32_IN_SELF_RPATH environment variables control whether to add lib64 and lib32 to rpaths. However, they're set depending on the build paltform, not the target platform and thus their values are incorrect for for cross-builds. On the other hand, setting them according to the build platform introduce pointless differences in build outputs; see #221350 for details. This change fixes the issues by boldly removes the NIX_LIB*_IN_SELF_RPATH facility altogether, in the hope that it is no longer necessary. They were introduced in 2009, long before nixpkgs had good support for cross-builds. Fixes #221350 --- pkgs/stdenv/generic/setup.sh | 6 ------ pkgs/stdenv/linux/default.nix | 2 -- 2 files changed, 8 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 734abb890c24f..1861b044a394b 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -311,12 +311,6 @@ _accumFlagsArray() { _addRpathPrefix() { if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}" - if [ -n "${NIX_LIB64_IN_SELF_RPATH:-}" ]; then - export NIX_LDFLAGS="-rpath $1/lib64 ${NIX_LDFLAGS-}" - fi - if [ -n "${NIX_LIB32_IN_SELF_RPATH:-}" ]; then - export NIX_LDFLAGS="-rpath $1/lib32 ${NIX_LDFLAGS-}" - fi fi } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 51f217f03b276..10a374a213a00 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -115,8 +115,6 @@ let '' export NIX_ENFORCE_PURITY="''${NIX_ENFORCE_PURITY-1}" export NIX_ENFORCE_NO_NATIVE="''${NIX_ENFORCE_NO_NATIVE-1}" - ${lib.optionalString (system == "x86_64-linux") "NIX_LIB64_IN_SELF_RPATH=1"} - ${lib.optionalString (system == "mipsel-linux") "NIX_LIB32_IN_SELF_RPATH=1"} '';