Question about compiler blacklisting (llvm-gcc for wxWidgets)

Ken Cunningham ken.cunningham.webuse at gmail.com
Wed Nov 1 17:37:39 UTC 2017


I know it's not the party line, but IMHO to minimize hassles supporting these older systems we might well just flush them all to build everything with clang-4.0 or 5.0, to match the newer systems. Then most all systems would see similar or identical errors.

 I'm not too clear on why it's worth effort to do otherwise. 

K

> On Nov 1, 2017, at 10:03 AM, David Strubbe <dstrubbe at macports.org> wrote:
> 
> If the compilers need to be consistent, then you can use the compilers portgroup to enforce that.
> 
> David
> 
>> On Wed, Nov 1, 2017 at 10:29 AM, Mojca Miklavec <mojca at macports.org> wrote:
>> Hi,
>> 
>> I'm currently trying to fix wxWidgets-3.0 in various ways. One of the
>> problems of the latest release is that it compiles fine with both
>> clang >= 500 and llvm-gcc. If I blacklist clang < 500 on Lion, it will
>> fallback to llvm-gcc which works in principle, but I don't know
>> whether it makes more sense to compile with, say, clang 3.4, or with
>> llvm-gcc. Suggestions?
>> 
>> The additional complication is that any port which builds against
>> wxWidgets needs to use (more or less) the same compiler for both
>> compiling wxWidgets and the port that depends on it. Add to that that
>> ports that need both perl and wxWidgets probably need a compatible
>> compiler for all three?
>> 
>> If I just blacklist one compiler for wxWidgets (but not for the ports
>> depending on it), I'll get a build failure on any other port that
>> builds against it. That's partly because wxWidgets does some testing
>> of compiler features and writes some of the results to the headers
>> which are then included in the sources of dependent software. (I
>> believe the reason for a failure of clang 425 on 10.7 is just some
>> incorrectly implemented test, but I'm not too eager to debug that if I
>> can simply switch the complier and get it working.)
>> 
>> At least I'm sure that the build of dependent ports fails if wxWidgets
>> is built with a more capable compiler. I'm not sure whether things
>> work out of the box if one uses a less capable compiler for compiling
>> wxWidgets and then some C++11 capable compiler for a dependent port,
>> but I expect problems as well.
>> 
>> What's the proper blacklisting? Since llvm-gcc-4.2 seems to work fine,
>> I'm tempted to blacklist llvm-gcc just on Lion and newer, while
>> letting 10.6 build with its default compiler (llvm-gcc). I didn't test
>> 10.6 yet though. Is that too weird? Does anyone have a better
>> suggestion?
>> 
>> Meanwhile I need to debug some weird side effects, like p5-wx trying
>> to compile with
>>     /opt/local/clang++ -stdlib=libc++-mp-3.4
>> for example. I didn't ask it to do anything like that.
>> 
>> Thank you,
>>     Mojca
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20171101/d3ab04e9/attachment.html>


More information about the macports-dev mailing list