> On Oct 1, 2015, at 12:24, Alexander Hansen <[email protected]>
> wrote:
>
>
>> On Oct 1, 2015, at 11:41, Alexander Hansen <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>>
>>> On Oct 1, 2015, at 11:24, Jack Howarth <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>>
>>>
>>> On Thu, Oct 1, 2015 at 12:02 PM, Jack Howarth <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>>
>>> On Thu, Oct 1, 2015 at 12:33 AM, William G. Scott <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> In the course of building some of my packages, a few dependencies failed to
>>> compile, requiring minor tweaks:
>>>
>>> gtk+2 — I had to change to UseMaxBuildJobs: false
>>> libvpx14 — I had to change to UseMaxBuildJobs: false
>>>
>>> Bill,
>>> I suspect you have the fink make package installed, no? If so, the
>>> failures should have been accompanied with an error message of the form...
>>>
>>> make: INTERNAL: Exiting with 1 jobserver tokens available; should be 8!
>>>
>>> This breakage in the parallel make of fink make impacts a slew of fink
>>> package builds on machines with more than 2 cores (eg the cmake, libcurl4,
>>> texlive-base, etc builds).
>>> A better fix would be to revert your package back to UseMaxBuildJobs: true
>>> but hard code' /usr/bin/make' rather than just 'make'.
>>> Jack
>>> ps The issue seems to be limited to running fink make from within perl
>>> under fink. I've not been able to reproduce the build failures outside of
>>> fink or with just within perl itself.
>>>
>>> Actually, I never saw a problem building gtk+2 on a dual quad-core MacPro
>>> but this re-enforces my suspicion that the problem with fink make is a
>>> threading race condition that will selectively trigger depending on the
>>> number of cores and processor speed of a given machine (meaning that all
>>> parallel builds under fink make on 10.11 are fragile). Perhaps a better fix
>>> would be to have fink conditionally use /usr/bin/make rather than make for
>>> the CompileScript's default_script when executed on 10.11. This would at
>>> least automatically solve the issue for all packages using
>>> %{default_script}.
>>>
>>
>> We can default to /usr/bin/make on 10.9-10.11 unconditionally and let
>> individual packages that need fink’s make override that in their
>> CompileScripts. That’d be simpler, and more consistent with our general
>> practices with regard to build tools.
>>
>> Then we can add a conditional if Apple decides to stop shipping a
>> /usr/bin/make with Xcode.
>> --
>> Alexander Hansen, Ph.D.
>> Fink User Liaison
>
> I just created a default-to-usr-bin-make branch off of the fink-0.39.x
> release tree and an accompanying pull request:
>
> https://github.com/fink/fink/pull/125 <https://github.com/fink/fink/pull/125>
>
> People who are interested in testing whether defaulting to /usr/bin/make has
> any unforeseen consequences can do so by checking out that branch and using
> inject.pl to install it.
>
> Because this is branched from the release branch, a selfupdate will still
> bring you a new release fink-0.39.x when one comes out.
>
> --
> Alexander Hansen, Ph.D.
> Fink User Liaison
>
The pull request (which also changes some other system tool invocations
explicitly to use built-in versions) has been merged into branch_0_39 as well
as master.
Note that this only overrides the %{default_script} behavior—packages with
custom CompileScripts that don’t use %{default_script} will need to to enforce
/usr/bin/make manually if they need to do that.
--
Alexander Hansen, Ph.D.
Fink User Liaison
------------------------------------------------------------------------------
_______________________________________________
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