diff --git a/pkgs/development/libraries/glibc/multi.nix b/pkgs/development/libraries/glibc/multi.nix index 002c5aa35fb3..a57658520458 100644 --- a/pkgs/development/libraries/glibc/multi.nix +++ b/pkgs/development/libraries/glibc/multi.nix @@ -16,7 +16,8 @@ runCommand "${nameVersion.name}-multi-${nameVersion.version}" "out" "bin" "dev" - ]; # TODO: no static version here (yet) + "static" + ]; passthru = { libgcc = lib.lists.filter (x: x != null) [ (glibc64.libgcc or null) @@ -42,4 +43,13 @@ runCommand "${nameVersion.name}-multi-${nameVersion.version}" cp -rs '${glibc32.dev}'/include "$dev/" chmod +w -R "$dev" cp -rsf '${glibc64.dev}'/include "$dev/" + + mkdir -p "$static/lib" "$static/lib64" + # create symlinks for files used for dynamic linking + # -> removing this will cause dynamically linked programs to segfault + cp -rs '${glibc32.out}'/lib/* "$static/lib" + cp -rs '${glibc64.out}'/lib/* "$static/lib64" + # create symlinks for files used for static linking + cp -rs '${glibc32.static}'/lib/* "$static/lib" + cp -rs '${glibc64.static}'/lib/* "$static/lib64" ''