Rustfmt: Using the latest nightly via multirust, rustfmt can't load some dynamic libraries

Created on 27 Sep 2015  Â·  5Comments  Â·  Source: rust-lang/rustfmt

$ git clone https://github.com/nrc/rustfmt
$ cd rustfmt
$ multirust update nightly
$ multirust override nightly
$ cargo build --release
$ sudo cp /target/release/rustfmt /usr/local/bin/rustfmt (on $PATH)
$ rustfmt
dyld: Library not loaded: x86_64-apple-darwin/stage2/lib/rustlib/x86_64-apple-darwin/lib/librustc_driver-10cbabc2.dylib
  Referenced from: /usr/local/bin/rustfmt
  Reason: image not found
[1]    65271 trace trap  rustfmt

cargo test works fine, which is weird.

bug

Most helpful comment

This is a problem again now that rustfmt has gone back to nightly. See #1707.

All 5 comments

Same here. cargo test output:

$ cargo test
   Compiling (...)
     Running target/debug/rustfmt-cc81908770f9719b

running 10 tests
test comment::test::test_contains_comment ... ok
test comment::test::test_uncommented ... ok
test issues::find_issue ... ok
test issues::find_unnumbered_issue ... ok
test comment::test::test_find_uncommented ... ok
test issues::issue_type ... ok
test utils::bin_search_test ... ok
test utils::power_rounding ... ok
test string::test::issue343 ... ok
test comment::test::format_comments ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured

     Running target/debug/rustfmt-989345f6513f4ec5

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

     Running target/debug/system-e4dc53025b91d309

running 3 tests
test system_tests ... ok
test idempotence_tests ... ok
test self_tests ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests rustfmt

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

Result of trying to run rustfmt (identical results for debug and release builds):

$ ./target/debug/rustfmt
dyld: Library not loaded: x86_64-apple-darwin/stage2/lib/rustlib/x86_64-apple-darwin/lib/librustc_driver-10cbabc2.dylib
  Referenced from: /Users/chris/dev/personal/rust/rustfmt/./target/debug/rustfmt
  Reason: image not found
[1]    27602 trace trap  ./target/debug/rustfmt

Version info:

$ multirust show-override
multirust: override toolchain: nightly
multirust: override location: /Users/chris/.multirust/toolchains/nightly
multirust: override reason: directory override for '/Users/chris/dev/personal/rust/rustfmt'

rustc 1.5.0-nightly (20a6938c0 2015-10-16)
cargo 0.6.0-nightly (18e496a 2015-10-17)

I'm running on a 2012 rMBP with El Capitan 10.11.0.

iirc, this is an issue with Cargo and OS X, although I'm not sure exactly what. Would be good to fix at our end if we can.

Seems it's not OS X specific, I'm also hitting this on Linux.

Rust libraries are linked dynamically to rustfmt, for whatever reason:

± % ➜  ldd target/release/rustfmt                                                                                                                                                                            !3143
    linux-vdso.so.1 (0x00007ffcf67f9000)
    librustc_driver-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver-10cbabc2.so (0x00007f7af0b8a000)
    librustc-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-10cbabc2.so (0x00007f7af01c9000)
    libsyntax-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsyntax-10cbabc2.so (0x00007f7aef929000)
    libstd-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-10cbabc2.so (0x00007f7aef3f8000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7aef1bf000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f7aeeeb7000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f7aeeaf6000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7aee8df000)
    librustc_lint-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_lint-10cbabc2.so (0x00007f7aee689000)
    librustc_trans-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_trans-10cbabc2.so (0x00007f7aee1b0000)
    librustc_privacy-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_privacy-10cbabc2.so (0x00007f7aedf95000)
    librustc_mir-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_mir-10cbabc2.so (0x00007f7aedcdb000)
    librustc_typeck-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_typeck-10cbabc2.so (0x00007f7aed88f000)
    librustc_borrowck-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_borrowck-10cbabc2.so (0x00007f7aed618000)
    librustc_resolve-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_resolve-10cbabc2.so (0x00007f7aed37b000)
    libgraphviz-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgraphviz-10cbabc2.so (0x00007f7aed16b000)
    libflate-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libflate-10cbabc2.so (0x00007f7aecf5f000)
    libgetopts-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-10cbabc2.so (0x00007f7aecd3d000)
    librustc_llvm-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-10cbabc2.so (0x00007f7aea137000)
    librustc_front-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_front-10cbabc2.so (0x00007f7ae9d20000)
    libserialize-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libserialize-10cbabc2.so (0x00007f7ae9a7e000)
    liblog-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblog-10cbabc2.so (0x00007f7ae9870000)
    librustc_back-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_back-10cbabc2.so (0x00007f7ae9627000)
    librustc_data_structures-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_data_structures-10cbabc2.so (0x00007f7ae93fd000)
    librbml-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librbml-10cbabc2.so (0x00007f7ae91d7000)
    libfmt_macros-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libfmt_macros-10cbabc2.so (0x00007f7ae8fc7000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f7ae8dc3000)
    /lib64/ld-linux-x86-64.so.2 (0x000056064caf8000)
    libterm-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-10cbabc2.so (0x00007f7ae8b89000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f7ae8981000)
    librustc_platform_intrinsics-10cbabc2.so => /home/mkpankov/rustfmt/target/release/../../../.multirust/toolchains/nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_platform_intrinsics-10cbabc2.so (0x00007f7ae8693000)

I believe it's the actual cause of the problem.

This should be fixed now that we've moved to stable Rust. Let us know if this pops up again!

This is a problem again now that rustfmt has gone back to nightly. See #1707.

Was this page helpful?
0 / 5 - 0 ratings