Closed
Description
#15006 seems to break make check
for me. I'm not sure why it's ok for the buildbots but not my 64bit linux system but now run-make/c-dynamic-dylib
consistently fails for me trying to run the bar.rs
binary, with $(TMPDIR)
not being included in LD_LIBRARY_PATH
at all.
I'm pretty clueless about Makefiles and our particular setup so I'm not actually sure where that is supposed to happen. The bar.rs
binary has a RUNPATH
that includes $ORIGIN/.
, but the foo.rs
dynamic library doesn't, so if I understand correctly, this is going to need an LD_LIBRARY_PATH
of some sort to work.
I'm using Gentoo Linux like the author of #11742 which apparently addressed a similar problem, so that's probably related.
The build output for complenetess:
maketest: c-dynamic-dylib
----- [...]/rust/src/test/run-make/c-dynamic-dylib/ --------------------
------ stdout ---------------------------------------------
make[1]: Entering directory '[...]/rust/src/test/run-make/c-dynamic-dylib'
gcc -Wall -Werror -g -fPIC -m64 -L [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib -c -o [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/libcfoo.o cfoo.c
gcc -Wall -Werror -g -fPIC -m64 -L [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib -o [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/libcfoo.so [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/libcfoo.o -shared
LD_LIBRARY_PATH="[...]/rust/build/x86_64-unknown-linux-gnu/stage2/lib:" [...]/rust/build/x86_64-unknown-linux-gnu/stage2/bin/rustc --out-dir [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib -L [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib foo.rs
LD_LIBRARY_PATH="[...]/rust/build/x86_64-unknown-linux-gnu/stage2/lib:" [...]/rust/build/x86_64-unknown-linux-gnu/stage2/bin/rustc --out-dir [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib -L [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib bar.rs
LD_LIBRARY_PATH="[...]/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:" [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/bar
Makefile:9: recipe for target 'all' failed
rm [...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/libcfoo.o
make[1]: Leaving directory '[...]/rust/src/test/run-make/c-dynamic-dylib'
------ stderr ---------------------------------------------
[...]/rust/build/x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib/bar: error while loading shared libraries: libcfoo.so: cannot open shared object file: No such file or directory
make[1]: *** [all] Error 127
[...]/rust/mk/tests.mk:990: recipe for target 'x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib-2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu.ok' failed
make: *** [x86_64-unknown-linux-gnu/test/run-make/c-dynamic-dylib-2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu.ok] Error 2
Metadata
Metadata
Assignees
Labels
No labels