compilers on Lion

Werner LEMBERG wl at gnu.org
Sat Sep 8 21:31:57 UTC 2018


> As Chris mentioned, ports use a compiler of their choosing, not of
> yours.

Yeah, it takes time to let this paradigm change sink in. :-)

> In fact, it takes the unusual and not-recommended step of completely
> discarding MacPorts base's list of preferred compilers and
> substituting its own list, which begins with MacPorts gcc6, so
> that's the compiler it will use.  Probably gcc6 was the latest
> stable version when that list was last updated, so it would be
> reasonable to add gcc7 and gcc8 to the list.

Yes.  I will do this.

> The best solution would be to fix lilypond so that it builds with
> clang, but that's something to be discussed with the developers of
> lilypond.

I'm listening :-) Unfortunately, my C++ capabilities are quite
limited, and normally we do cross-compilation to create a lilypond
binary for the Mac.  Since our personal resources are very limited,
there isn't a high priority to make lilypond compile with clang – of
course we gladly accept patches.

Fortunately, macports provides guile 1.8.8, since guile 2.2.x doesn't
reliably work with lilypond (and vice versa).  This is becoming a very
serious issue since most GNU/Linux distributions have already dropped
1.8.8 or will do so in the very near future...

>> * I'm missing the ability to say
>> 
>>    port select --set emacs emacs23   .
> 
> If you install the emacs port, it will install /opt/local/bin/emacs;
> assuming /opt/local/bin precedes /usr/bin in your PATH, as it will
> by default after you install MacPorts, the emacs port's emacs binary
> will be used instead of Lion's older emacs binary.

Ah, I missed to type `hash -r'; I thought that, similar to gcc,
macports doesn't provide an `emacs' alias.  Now everything works fine.

>> * It's impossible to guess the difference between the `emacs' and
>>  `emacs-app' port from the output of `port info'.  [...]
>
> Please file bug reports against those ports if changes are needed.

Will do.

>>  *Four* compilers are necessary for poppler?
> 
> I agree this is highly undesirable.  It seems to me like it should
> be possible to significantly reduce that list, but I have not
> analyzed the problem in depth.

I think one part of the problem is that `libomp' is a separate
package.  Since recent versions of clang include it, the artificial
splitting automatically introduces `clang-3.7' as a dependency,
regardless which clang version gets installed...

> Certainly, I think we have bugs in our compiler selection process.
> Especially on systems older than OS X Mavericks, while installing
> ports, you may see warnings to the effect that all compilers were
> blacklisted, but the build succeeds anyway.

Until now I haven't experienced this – but I guess I will see that
soon...

> An overhaul of the MacPorts base compiler selection process was
> proposed here:
> 
> https://github.com/macports/macports-base/pull/88
> 
> You might try recompiling MacPorts base from that PR to see if its
> new compiler selection process results in any improvements for this
> problem.

Looks interesting.  Hopefully, I find some time to test it!

>> * Where can I get a concise and up-to-date description of
>>  portfiles?  `portfiles.7' seems to be heavily out of date...
> 
> What would you like to know?

A list of all available variables/keywords, with a description.

> If portfile.7 or the guide are out of date (and I have no doubt they
> are), let us know in what ways (by filing bug reports) so that
> someone can fix them, or you can fork our repositories, make the
> needed changes and send pull requests.

Will try to file reports.


    Werner


More information about the macports-users mailing list