-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Where does cargo put shared libraries? #3660
Comments
I think this may have been a bug in Cargo fixed in #3478, which may be why beta's working but stable isn't? |
@alexcrichton but why did it work on the initial PR then? |
Beats me! |
I just reproduced locally with
shipped by my distro. CC @malept |
Yes the bug is in rustc 1.15, but rustc 1.16+ should come with a Cargo that has this fixed |
😞 bugs in cargo. Anyways, 👍 for looking into it, thanks a lot! So I guess I have to wait until 1.16 with releasing the next version. |
Ok, thanks for checking! In that case I'm going to close this issue. |
So we had kind of a situation over at
imag
.What happened
We had this PR https://github.com/matthiasbeyer/imag/pull/871 for introducing Ruby bindings for imag (using the awesome ruru crate), which are build with the
thermite
Ruby gem helper, which packs.so
s into a gem. As you can see, the PR 871 succeeded on travis, so I merged it.Master was broken instantly, because
thermite
couldn't find theliblibimagruby.so
anymore (which it could find on PR 871).So I opened https://github.com/matthiasbeyer/imag/pull/894 to revert the whole thing and merged it as soon as travis succeeded.
Then I opened https://github.com/matthiasbeyer/imag/pull/895, cherry-picked each commit from the initial https://github.com/matthiasbeyer/imag/pull/871 and pushed it. Travis failed again.
What I can see
We build against Rust 1.13, Beta and Stable. All have to succeed to get a CI-OK.
The table below shows the rustc/cargo versions for the specific builds. The failing builds (stable) use the same cargo and rustc as the succeeding build from the PR 871.
The failed PRs fail because
thermite
cannot find theliblibimagruby.so
.As you can see, it seems to have failed out of nowhere. There were no other PRs merged during these merges.
I reproduced the error on a VM using
The
liblibimagruby.so
lives in/target/debug/deps/liblibimagruby.so
, but is expected to be in/target/debug/liblibimagruby.so
.Can someone help me investigate?
(Notice: Workspaces involved!)
How to reproduce
I'm not sure. I guess it would be enough to call
bundle install --path vendor/bundle
in/libimagruby
and thenmake lib-imag-ruby-test
in the root directory of the project. (We usemake
to automatecargo
calls and also because we have to callbundle exec rake thermite:tarball
in between).(I do not test this on my local machine because I use distro-package rustc/cargo and I'm still on
1.14
, where everything works fine as far as I can see)The text was updated successfully, but these errors were encountered: