[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