[MacPorts] #57648: perl5 builds incompletely with clang-3.4, resulting in dyld: lazy symbol binding failed: Symbol not found: _perl_tsa_mutex_lock

MacPorts noreply at macports.org
Sat Aug 14 23:15:48 UTC 2021


#57648: perl5 builds incompletely with clang-3.4, resulting in dyld: lazy symbol
binding failed: Symbol not found: _perl_tsa_mutex_lock
-------------------------------+--------------------
  Reporter:  snunez1           |      Owner:  (none)
      Type:  defect            |     Status:  new
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:  2.5.4
Resolution:                    |   Keywords:
      Port:  p5-io-socket-ssl  |
-------------------------------+--------------------

Comment (by kencu):

 This is still a PITA. It was hard to work around today.

 In the perl5 Porfile, we can certainly remove the part that adds clang-3.7
 to extra dependencies. That might help some, but it was still a tricky
 thing to work around. I would like to get the clang-dependency PortGroup
 completely out of the perl5 Portfiles. I think all the clang portfiles
 have been fixed now to no longer need perl (perl5 is just for that silly
 analyzer that nobody uses anyway).

 I wanted per5.28 built +universal, for some reason, this kept happening:
 {{{
 $ sudo port -v -s install perl5.28 +universal configure.compiler=macports-
 clang-9.0
 Error: Requested variants "" do not match those the build was started
 with: "+universal".
 Error: Please use the same variants again, or run 'port clean perl5.28'
 first to remove the existing partially completed build.
 Error: Problem while installing perl5.28
 Error: Unable to execute port: upgrade clang-9.0 failed
 }}}

 I was unable to get past this {{{Error: Requested variants "" do not match
 those the build was started with: "+universal".}}} no matter what I tried.

 Finally, I edited the {{{clang-dependency}}} PortGroup to make it
 basically be a no-op, then installed a non-universal version of perl5.28,
 and then force-upgraded it to +universal and that finally worked:
 {{{
 sudo port -v install perl5.28
 sudo port -v -n -s upgrade --enforce-variants  perl5.28 +universal
 }}}

 With clang-dependency a no-op, perl5.28 built with clang-9.0, and is now
 fully functional.

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


More information about the macports-tickets mailing list