dmd: set --sysroot=/ to avoid cc-wrapper value
After https://github.com/NixOS/nixpkgs/pull/210004 `dmd` started failing build as: ld: warning: libm.so.6, needed by ./generated/linux/release/64/lib.so, not found (try using -rpath or -rpath-link) ld: /build/druntime/generated/linux/release/64/libdruntime.so: undefined reference to `log10@GLIBC_2.2.5' This happens because --sysroot=/nix/store/does/not/exist removes not just include headers by prefixing wrong path, but also removes RUNPATH dependencies of linked libraries. It's an unintended effect. Restore the build by reversing the effect with --sysroot=/.
This commit is contained in:
parent
277d34fbdf
commit
7c73d1e025
1 changed files with 7 additions and 0 deletions
|
@ -151,6 +151,13 @@ stdenv.mkDerivation rec {
|
|||
git
|
||||
];
|
||||
|
||||
# Workaround cc-wrapper's --sysroot= value for `staging-next`: it
|
||||
# breaks library lookup via RUNPATH:
|
||||
# ld: warning: libm.so.6, needed by ./generated/linux/release/64/lib.so, not found (try using -rpath or -rpath-link)
|
||||
# ld: /build/druntime/generated/linux/release/64/libdruntime.so: undefined reference to `log10@GLIBC_2.2.5'
|
||||
# TODO(trofi): remove the workaround once cc-wrapper is fixed.
|
||||
NIX_CFLAGS_COMPILE = [ "--sysroot=/" ];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
tzdata
|
||||
|
|
Loading…
Reference in a new issue