[MacPorts] #62639: rust 1.51.0 on Mac OS 10.7.5?
MacPorts
noreply at macports.org
Fri Dec 3 20:36:17 UTC 2021
#62639: rust 1.51.0 on Mac OS 10.7.5?
-----------------------+-----------------------------------------
Reporter: lemzwerg | Owner: g5pw
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: fixed | Keywords: lion mountainlion mavericks
Port: rust |
-----------------------+-----------------------------------------
Changes (by catap):
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"8f43fdc08107e2f7fa6527eaae8ba0ea3f35b6c0/macports-ports"
8f43fdc08107e2f7fa6527eaae8ba0ea3f35b6c0/macports-ports] (master):
{{{
#!ConfigurableCommitTicketReference repository="macports-ports"
revision="8f43fdc08107e2f7fa6527eaae8ba0ea3f35b6c0"
rust: fix build on macOS 10.7
This commit contains two fixes.
The first fix runtime fails of bootstrap's `cargo`:
```
dyld: lazy symbol binding failed: Symbol not found:
_CCDigestGetOutputSizeFromRef
```
This symbol is required to verify cargo crates' signature, because cargo
is linked against 10.8, not 10.7.
Details: https://github.com/rust-lang/cargo/issues/4813
The nice overstep is moving to MacPorts's verification of crates by
using `cargo.crates` which also allows to fetch everything by `fetch`
stage.
Anyway, this fix need to be used inside crates which => I've added a
small dynamic patch to `cargo_fetch` PG which prevents from producing
bad binaries. Upstream issue is opened and as soon as fix is introduced,
we may remove this hack.
The second fix for runtime fails is related to dynamic loading of
`___muloti4` which is usually a part of System's compiler-rt aka
compiler-binutils. macOS 10.7 is too old and hasn't got `_muloti4`
function. This fails was introduced by https://github.com/rust-
lang/rust/commit/8a6ff90a3a41e6ace18aeb089ea0a0eb3726dd08
Anyway, MacPorts ships macports-libcxx which is linked agains new
LLVM/Clang version of compiler-binutils and which can be used as a donor
for this function.
Here I've created a simple `dylib` which I've forced to load via
`DYLD_INSERT_LIBRARIES` which is untouched by rust's build. Anyway, it
also forces to switch to flat name space which seems ok.
Closes: https://trac.macports.org/ticket/62639
}}}
--
Ticket URL: <https://trac.macports.org/ticket/62639#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list