Opened 3 years ago

Closed 3 years ago

#63341 closed defect (fixed)

librsvg @2.50.5: error: linker `/opt/local/bin/clang-mp-11` not found

Reported by: kencu (Ken) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones), herbygillot (Herby Gillot), g5pw (Aljaž Srebrnič)
Port: librsvg, rust

Description

It looks like the rust compiler is hardcoded to use clang-11 as a linker, but doesn't put a dependency on clang-11.

     Running `/opt/local/bin/rustc --crate-name build_script_build --edition=2018 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.50.5/vendor/getrandom-0.1.16/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C debug-assertions=off --cfg 'feature="std"' -C metadata=e6d36847a1bc9408 -C extra-filename=-e6d36847a1bc9408 --out-dir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.50.5/target/release/build/getrandom-e6d36847a1bc9408 -L dependency=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.50.5/target/release/deps --cap-lints allow`
error: linker `/opt/local/bin/clang-mp-11` not found
  |
  = note: No such file or directory (os error 2)

error: aborting due to previous error

Attachments (1)

librsvg-fail.log (47.6 KB) - added by kencu (Ken) 3 years ago.

Download all attachments as: .zip

Change History (7)

Changed 3 years ago by kencu (Ken)

Attachment: librsvg-fail.log added

comment:1 Changed 3 years ago by kencu (Ken)

Owner: set to dbevans
Status: newassigned

comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)

Owner: changed from dbevans to mascguy

comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: cjones051073 herbygillot g5pw added

Folks, what's the "right" way to address this? Is it simply a matter of adding the clang dependency to rust, or...?

comment:4 Changed 3 years ago by cjones051073 (Chris Jones)

The issue here is more complex than described above. The rust port doesn't 'hardcode' the use of macports clang, but it is based on the compiler blacklisting (setup via the c++17 requirements). The issue is with rust, unlike most other builds, the compiler used to build it is 'remembered' by rust, and is in turn used by rust when it runs. The problem then is there is a difference of opinion on whether or not mac[ports clang should be used on the same OS (10.13) depending on precisely which Xcode is installed. The build bots have an older one, which is black listed, however the user in question uses a newer one which isn't blacklisted. So the binaries are built requiring macports clang, but on the user machine the dep. is not set.

I think the only sane way out here is to blacklist all possible Xcode clangs on 10.13...

comment:6 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Thanks for the fix @cjones!

Note: See TracTickets for help on using tickets.