Opened 3 years ago

Last modified 3 years ago

#62656 closed defect

rust @1.51.0 Dyld: lazy symbol binding failed: Symbol not found: _linkat (OS 10.9) — at Version 4

Reported by: cave-canem Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: mavericks Cc: cave-canem, herby.gillot@…, g5pw@…
Port: rust

Description (last modified by kencu (Ken))

I changed on line #93 of Portfile-rust $ {os.major} <14} to $ {os.major} <13, and tried to build "rust" with mp-clang-11.

Result:

dyld: lazy symbol binding failed: Symbol not found: _linkat Referenced from: /opt/MacPorts/var/macports/build/_opt_macports-ports_lang_rust/rust/work

/rustc-1.51.0-src/build/stage0-x86_64/bin/cargo Expected in: /usr/lib/libSystem.B.dylib

The problem is that now the "mpv @ 0.33.1" and "youtube-dl @ 2021.04.01" ports (in particular) depend on the rav1e port, which depends on the "rust" port.

In other words, not only the rust port breaks, but other ports as well!

As a possible solution, can you add a static linking variant to the rust port?

See attached log with debug information.

See also link: https://github.com/rust-lang/libc/issues/2036

Change History (5)

Changed 3 years ago by cave-canem

Attachment: main.log.tar.gz added

main.log

comment:1 Changed 3 years ago by cave-canem

Description: modified (diff)

comment:2 Changed 3 years ago by cave-canem

Description: modified (diff)

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

rav1e was just removed from libheif for many systems. [aebe51e3cd62e27205f1a41df8ab0668395cf73b/macports-ports] and this should improve your immediate problem installing mpv once that rolls out to you. (We'll probably wind up removing it from more or all systems soon enough).

You can't static link rust to fix this.

(BTW, isn't it just wonderful that MacPorts supports Mavericks so well?! Please tell all your friends how great it is.)

Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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

Description: modified (diff)
Note: See TracTickets for help on using tickets.