[MacPorts] #62656: rust @1.51.0 does not build on 10.9: Dyld: lazy symbol binding failed: Symbol not found: _linkat (OS 10.9)

MacPorts noreply at macports.org
Thu Apr 8 10:55:14 UTC 2021


#62656: rust @1.51.0 does not build on 10.9: Dyld: lazy symbol binding failed:
Symbol not found: _linkat (OS 10.9)
-------------------------+-----------------------
  Reporter:  cave-canem  |      Owner:  (none)
      Type:  defect      |     Status:  new
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.6.99
Resolution:              |   Keywords:  mavericks
      Port:  rust        |
-------------------------+-----------------------
Changes (by ryandesign):

 * cc: herby.gillot@… (removed)
 * cc: herbygillot (added)


Old description:

> 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

New description:

 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

--

Comment:

 > {{{
 > dyld: lazy symbol binding failed: Symbol not found: _linkat
 > }}}

 I guess that's why the port doesn't allow you to install rust on 10.9. :)

-- 
Ticket URL: <https://trac.macports.org/ticket/62656#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list