NIX_CFLAGS_COMPILE
and NIX_LDFLAGS
heavy flag multiplication (up to x5 clones per flag) due to setup-hooks.
#364984
Labels
0.kind: bug
Something is broken
It appears that
cc-wrapper
packages at different*buildInputs
in the dependency hierarchy actually multiply the header and library paths added toNIX_CFLAGS_COMPILE
andNIX_LDFLAGS
.We can get up to x5 copies for each, leading to #41340 in larger projects.
Minimal repro:
Entering the shell outputs:
extra flags before to /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/bin/g++: -Wl\,-dynamic-linker=/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/ld-linux-x86-64.so.2 original flags to /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/bin/g++: extra flags after to /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/bin/g++: -B/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/ /nix/store/rfw51dqr3qn7b6fjy8hmx6f0x3hfwbx6-glibc-2.37-8-dev/include /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/include-fixed -B/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/lib -B/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0/bin/ /nix/store/bw6xcpqzfw3n7zfz7g0cpqgx2y2lac9j-libpng-apng-1.6.39-dev/include /nix/store/bw6xcpqzfw3n7zfz7g0cpqgx2y2lac9j-libpng-apng-1.6.39-dev/include /nix/store/qwmhvny4in8134s96ssfy92w5acbwc4c-zlib-1.2.13-dev/include /nix/store/qwmhvny4in8134s96ssfy92w5acbwc4c-zlib-1.2.13-dev/include /nix/store/bw6xcpqzfw3n7zfz7g0cpqgx2y2lac9j-libpng-apng-1.6.39-dev/include /nix/store/bw6xcpqzfw3n7zfz7g0cpqgx2y2lac9j-libpng-apng-1.6.39-dev/include /nix/store/qwmhvny4in8134s96ssfy92w5acbwc4c-zlib-1.2.13-dev/include /nix/store/qwmhvny4in8134s96ssfy92w5acbwc4c-zlib-1.2.13-dev/include /nix/store/bw6xcpqzfw3n7zfz7g0cpqgx2y2lac9j-libpng-apng-1.6.39-dev/include /nix/store/qwmhvny4in8134s96ssfy92w5acbwc4c-zlib-1.2.13-dev/include -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib -L/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/x86_64-unknown-linux-gnu/lib -L/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/lib extra flags before to /nix/store/22p5nv7fbxhm06mfkwwnibv1nsz06x4b-binutils-2.40/bin/ld: original flags to /nix/store/22p5nv7fbxhm06mfkwwnibv1nsz06x4b-binutils-2.40/bin/ld: /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/libexec/gcc/x86_64-unknown-linux-gnu/12.2.0/liblto_plugin.so -plugin-opt=/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/libexec/gcc/x86_64-unknown-linux-gnu/12.2.0/lto-wrapper /nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib64/ld-linux-x86-64.so.2 /nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/crt1.o /nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/crti.o /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/crtbegin.o -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/hr3m53r0nhyqx80sg0bz9xjgk6jg009k-zlib-1.2.13/lib -L/nix/store/yszpxj5q3j8lfxw3df0q0k2c4zmfgyg1-libpng-apng-1.6.39/lib -L/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib -L/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/x86_64-unknown-linux-gnu/lib -L/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/lib -L/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib -L/nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/lib -L/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0/bin -L/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64 -L/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../.. -dynamic-linker=/nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/ld-linux-x86-64.so.2 /nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/crtend.o /nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib/crtn.o extra flags after to /nix/store/22p5nv7fbxhm06mfkwwnibv1nsz06x4b-binutils-2.40/bin/ld: /nix/store/yaz7pyf0ah88g2v505l38n0f3wg2vzdj-glibc-2.37-8/lib /nix/store/yazs3bdl481s2kyffgsa825ihy1adn8f-gcc-12.2.0-lib/lib /nix/store/22p5nv7fbxhm06mfkwwnibv1nsz06x4b-binutils-2.40/bin/ld: /dev/fd/63: file not recognized: Illegal seek
The text was updated successfully, but these errors were encountered: