openssl source install with trace mode bugged

Ryan Schmidt ryandesign at macports.org
Fri Jun 7 04:07:19 UTC 2019



On Jun 6, 2019, at 17:23, Rainer Müller wrote:

> On 03.06.19 15:50, Mihir Luthra wrote:
>> I noticed that on a “new" MacPorts installation, if we try to install
>> openssl with flags   -st, it will fail.
>> 
>> Problematic lines in main.log with debug on are :-
>> 
>> :info:configure darwintrace[30583:0x10fc915c0]:
>> posix_spawn(/opt/original-base/var/macports/sip-workaround/502/usr/bin/perl5.18)
>> = 2
>> 
>> 
>> :info:configure perl: posix_spawn:
>> /opt/original-base/var/macports/sip-workaround/502/usr/bin/perl5.18: No
>> such file or directory
> 
> Indeed, I was able to reproduce this problem on macOS 10.12 Sierra in a
> completely new prefix. The file is just not there.
> 
> This file is a copy of the original file in /usr/bin in order to evade
> the SIP protection that prevents DYLD_* variables in the environment.
> Normally it should be copied if it does not exist or if the file in
> /usr/bin is newer. Somehow this seems to have failed for some reason
> that needs to be determined.
> 
>> Also this won’t occur if I install perl5.28 port separately. It doesn’t
>> depend on that port but configuring in port perl5.28 does certain steps
>> that makes installing port openssl possible. So even if I terminate
>> installing of port perl5.28 after it is done configuring, it would be
>> possible to install port openssl.
> 
> I would assume this step creates the copy of perl5.18 that was missing
> before. It should not matter which port you configure as long as it uses
> /usr/bin/perl5.18 in trace mode.

I am assuming that MacPorts base copies these files to the sip-workaround directory when it thinks they are being used.

I note that macOS (High Sierra at least) ships with both /usr/bin/perl and /usr/bin/perl5.18. They are both version 5.18, their "-V" output is identical, yet the files have different sizes. I am uncertain why this is. I would have thought one would be a symlink or hard link to the other.

I note that the openssl port specifies "configure.perl /usr/bin/perl". Presumably this means that /usr/bin/perl gets used, and presumably MacPorts has copied it to the sip-workaround directory. I am uncertain why darwintrace thinks that /usr/bin/perl5.18 is now needed. 



More information about the macports-dev mailing list