-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Linking issue with Rust 1.37.0 #64340
Copy link
Copy link
Closed
Labels
A-linkageArea: linking into static, shared libraries and binariesArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Metadata
Metadata
Assignees
Labels
A-linkageArea: linking into static, shared libraries and binariesArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Type
Fields
Give feedbackNo fields configured for issues without a type.
See build log.
It looks like name mangling doesn't work correctly when linking with a dynamic library which is also depends on
libstd.The application structure is the following:
dylibcratejava_bindings, containing 400+ dependencies and is dynamically linked tolibstd.dylib.exonum-javabinary application, depends onjava_bindingsand is dynamically linked tolibstd.dylib.The compilation works well on Rust 1.36.0, but doesn't work on 1.37.0 and nightly versions (such as
rustc 1.39.0-nightly (c6e9c76c5 2019-09-04)).To reproduce:
git clone https://github.com/exonum/exonum-java-binding cd exonum-java-binding/exonum-java-binding/core/rust/exonum-java rustup default nightly cargo buildSorry for such heavy project, couldn't reproduce on an easier example.