Re: make-4.1-3 with make-default split-off

Jack Howarth <[email protected]>
Newsgroups gmane.os.apple.fink.devel
Message-ID <CAP5Ds0ARtX7+0iGjd+o2O_bvL2tMMfoOeU=i2-mt8gaE0A5Gfg@mail.gmail.com>
On Mon, Sep 21, 2015 at 1:48 PM, Jack Howarth <[email protected]>
wrote:

>
>
> On Sat, Sep 19, 2015 at 9:13 AM, Max Horn <[email protected]> wrote:
>
>> Hi again,
>>
>> On 16.09.2015, at 14:42, Jack Howarth <[email protected]> wrote:
>>
>> > MacPorts gmake doesn't show the problem on the command line or in their
>> builds but I have only been able to test a rather narrow set of MacPorts
>> builds against their gmake. However I have been able to reproduce the build
>> failures under fink when the call to 'make' is substituted with
>> '/opt/local/bin/make' to invoke their copy.
>>
>> That's interesting, and a bit weird... But at least it suggest that it is
>> directly not our "fault" for breaking GNU make, it may just be broken in
>> general on Mac OS X 10.11... Not that this insight helps anybody faced with
>> the problem :-/.
>>
>>
>>
>> > I doubt a unique set of packages exists to protect from this bug with
>> the usage of /usr/bin/make. The bug looks to be a race condition in the
>> threading support as tweaking the optimization of make build modulates the
>> number of packages that fail under fink make. Likewise reducing the number
>> of cores in the parallel build can suppress the bug. Also, when I debugged
>> this by adding -d, only one of the failing tests, texlive-base, remained
>> and even then only randomly. So the real question will be how many users
>> machines have the cores/speed to tickle the bug. My past experience with
>> Apple and threading bugs is that it is futile to expect them to be fixed in
>> a given OS release and usually you have to wait for the next major kernel
>> rewrite.
>>
>> So, what shall we do then?
>>
>>
>> * Just "patch" affected packages to workaround the issue
>>
>> * Split "make" as Jack proposed (i.e. package "make" only provides a
>> "gmake" binary, and "make-default" provides a "make" symlink to it, similar
>> to e.g. coreutils-default).
>>    However, I'd prefer to *only* do that on 10.11, as to minimize the
>> impact this has on users. That said, my hope is that whether Apple's and
>> our make is used for most users...
>>
>>
>> Cheers,
>> Max
>
>
> Max,
>      The regression seems impossible to duplicate outside of fink. Using
> the libcurl4 build which fails in fink make during the InfoTest run and a
> copy of fink modified to emit the contents of %ENV with...
>
>  --- PkgVersion.pm.orig 2015-09-21 12:57:25.000000000 -0400
> +++ PkgVersion.pm 2015-09-21 13:05:37.000000000 -0400
> @@ -5230,6 +5230,11 @@
>   $nonroot_okay = $nonroot_okay && $build_as_nobody;
>   {
>   local %ENV = %{$self->get_env($phase)};
> + my @keys = keys %ENV;
> + my @values = values %ENV;
> + while (@keys) {
> + print pop(@keys), '=', pop(@values), "\n";
> + }
>   $result = &execute($script, nonroot_okay=>$nonroot_okay);
>   }
>   if ($result and !$ignore_result) {
>
> I used the /tmp/fink.U7E7Q InfoTest script left from the failed build with
> the addition of...
>
> use lib "/sw/lib/perl5";
>
> and -j8 appended to the make line as well as export lines in the bash
> script for all of  the environmentals reportedly set during the failing
> InfoTest run. Executing...
>
> [Jack-Howarths-Computer:fink.build/libcurl4-7.44.0-1+10.8/curl-7.44.0]
> howarth% sudo -u fink-bld /tmp/fink.U7E7Q
>
> repeatedly succeeds whereas the fink -m build constantly fails in the
> InfoTest. Weird.
>             Jack
> ps The only thing left to do is try to craft an additional layer of
> indirection such that the execution of /tmp/fink.U7E7Q is done from within
> perl rather than on the command line.
>

A bit closer to fink was duplicated with...

cd tests
sudo -u fink-bld make clean
cd ..
/usr/bin/perl -e 'system("sudo", "-u". "fink-bld", "/tmp/fink.U7E7Q")'

and this also refuses to trigger the bug outside of fink itself.

------------------------------------------------------------------------------

_______________________________________________
Fink-devel mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.