-
Notifications
You must be signed in to change notification settings - Fork 390
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
Versioned dylib .so symlinks don't make it to runfiles #91
Comments
Sorry, what is the issue exactly? |
The execroot and runfiles tree are missing the versioned symlinks 'libcrypto-opt.so.1.0.0' and 'libssl-opt.so.1.0.0' that the binary is looking for. It looks like the cc_* rules don't create the symlinks in the runfiles tree if they are not depended on. |
How are those symlink created in the first place, where is that example coming from? Also pulling in @mhlopko who might knows something, is still in the Bazel team and in charge of C++ rules and a rust enthusiast :) |
iiuc the cc_* rules layout the _solib tree; the example's dependency chain looks like this: cc_library( imports /opt/openssl ) <- rust_library ( openssl-sys ) <- ... <- rust_binary( hello_http ) |
Is the problem that C++ rules don't expose versioned .so in their runfiles, or that rust rust rules don't do so? |
I believe it's the latter, because rust rules are not looking up the
outputs in a robust way (
https://github.com/bazelbuild/rules_rust/blob/master/rust/rust.bzl#L145).
…On Mon, Jun 4, 2018, 02:57 Marcel Hlopko ***@***.***> wrote:
Is the problem that C++ rules don't expose versioned .so in their
runfiles, or that rust rust rules don't do so?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#91 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACLjeKk7fL0ovAYNPSJpWbuW459_eXIwks5t5NpHgaJpZM4UW3Il>
.
|
There's also other fun dylib naming schemes that we don't handle, eg. llvm's
@mhlopko Is this something that rules_rust should always handle, or something that we would be able to depend on from cc sandwich? |
I also ran into this recently and sent #513 which I think might fix this -- at least it did for me. |
It looks like https://github.com/bazelbuild/rules_rust/blob/master/rust/rust.bzl#L342 is not quite right, and we need to fish out the .so.1.0 links from the binary.
@damienmg is there a straight forward way to getthe symlink paths? If not I will spend some time spelunking in whatever the cc_* rules currently expose.
The text was updated successfully, but these errors were encountered: