[MacPorts] #59924: openssl won't install when used in trace mode

MacPorts noreply at macports.org
Thu Feb 13 23:00:06 UTC 2020


#59924: openssl won't install when used in trace mode
--------------------------+----------------------
  Reporter:  raphaelcohn  |      Owner:  larryv
      Type:  defect       |     Status:  assigned
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.6.2
Resolution:               |   Keywords:
      Port:  openssl      |
--------------------------+----------------------

Comment (by neverpanic):

 Error is `perl: posix_spawn: /Users/raph/Documents/hdl-playground/tools
 /reproducible-macports/prefix/var/macports/sip-
 workaround/501/usr/bin/perl5.18: No such file or directory`.

 `${prefix}/var/macports/sip-workaround/${euid}` is a path used as a
 workaround for Apple's system integrity protection, which drops any
 `DYLD_*` variables when executing binaries under SIP. Since this would
 break trace mode, MacPorts hooks `execve(2)` and `posix_spawn(2)` and
 makes a copy of the original binary in this folder if the binary is SIP-
 protected, and then transparently proceeds to execute this copy instead.

 OpenSSL's configure script uses `/usr/bin/env perl` as shebang, which
 would have triggered a copy of `/usr/bin/env`, injected with a library
 that hooks the `execve` call. That should then have caused a copy of
 `/usr/bin/perl` (or any other perl in MacPorts' path) to be executed.

 I'm not sure where and why the `perl5.18` path would show up in this
 chain. Do you have a symlink `perl -> perl5.18` somewhere? In any case, I
 cannot reproduce this. Try wiping the contents of `${prefix}/var/macports
 /sip-workaround/`, maybe that helps?

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


More information about the macports-tickets mailing list