Re: compiler.blacklist

2014-05-04 Thread Craig Treleaven

At 10:28 PM -0500 5/3/14, Ryan Schmidt wrote:

On May 3, 2014, at 07:28, Craig Treleaven wrote:

 At 8:34 PM -0500 5/2/14, Ryan Schmidt wrote:

 On May 2, 2014, at 20:20, Craig Treleaven wrote:


 For my mythtv-core.xx ports, I want to blacklist clang prior to 
XCode 5, so I added:


 compiler.blacklist-append { clang <= 500.2.79 } \

 >macports-clang*


 That doesn't work when I build on Lion with XCode 4.3.3 (clang 
318.0.61)--it tries to build with clang and falls over.


 That sounds like you may not have included the 
compiler_blacklist_versions 1.0 portgroup. If you do that, it 
should do what you say: blacklist all MacPorts clangs, and Xcode 
clangs less than 500. So on Macs with Xcode 4 or earlier, you'll 
be building with llvm-gcc-4.2 or gcc-4.2. Is that really what you 
want? If Xcode 5's clang is ok, presumably MacPorts clang 3.5 
would work too, maybe even 3.4, and those would probably be 
preferable to the old llvm-gcc or gcc.


 You are indeed correct; the line to add the 
compiler_blacklist_versions portgroup got dropped somewhere along 
the way.  And the buildbots were down when the change was committed.


 Is this something that lint could be made to pick up?  ie a 
compiler version comparison used but required PortGroup missing?


Good idea. Done in r119714.

Ultimately the workings of the compiler_blacklist_versions portgroup 
should be incorporated into base instead.



 Pre-XCode 5, Myth builds and runs fine with gcc and llvm-gcc.  The 
the upstream project only recently put in some fixes that allow it 
to build with later versions of clang.


 Re MacPorts-supplied versions of clang, I simply haven't tried to 
build with them.  I cribbed that section from qt4-mac port since it 
had the same issue with LIBRARY_PATH that I had.  The 
'macports-clang*' exclusion is probably extraneous but I wanted to 
be sure to use know-working compilers, only.


There may be some small difference between MacPorts clang and Xcode 
clang, but the primary difference is the version numbering.


According to our XcodeVersionInfo wiki page, Xcode 5.0 came with 
"Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)". 
"LLVM 3.3svn" means that this version corresponds to some version of 
LLVM that is greater than 3.3 and less than 3.4. So if you already 
know that Xcode 5's clang works, and earlier Xcodes' clangs don't 
work, then you also know that MacPorts clang 3.3 and earlier won't 
work either, and MacPorts clang 3.4 and later should work.


Thanks, I'll add this to the list of things to test.  I'm a bit 
gunshy about compilers.  After XCode 4.4 came out, the port would 
compile with certain compilers but threw runtime failures (seemingly 
deep in libunwind).  I never did find the cause of the problem, but 
with help, we found certain combinations that worked and stuck with 
them.  Don't want to re-awaken the monsters!  ;)


Craig
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: compiler.blacklist

2014-05-03 Thread Ryan Schmidt
On May 3, 2014, at 07:28, Craig Treleaven wrote:
> At 8:34 PM -0500 5/2/14, Ryan Schmidt wrote:
>> On May 2, 2014, at 20:20, Craig Treleaven wrote:
>>> 
>>> For my mythtv-core.xx ports, I want to blacklist clang prior to XCode 5, so 
>>> I added:
>>> 
>>> compiler.blacklist-append { clang <= 500.2.79 } \
>> >macports-clang*
>>> 
>>> That doesn't work when I build on Lion with XCode 4.3.3 (clang 
>>> 318.0.61)--it tries to build with clang and falls over.
>> 
>> That sounds like you may not have included the compiler_blacklist_versions 
>> 1.0 portgroup. If you do that, it should do what you say: blacklist all 
>> MacPorts clangs, and Xcode clangs less than 500. So on Macs with Xcode 4 or 
>> earlier, you'll be building with llvm-gcc-4.2 or gcc-4.2. Is that really 
>> what you want? If Xcode 5's clang is ok, presumably MacPorts clang 3.5 would 
>> work too, maybe even 3.4, and those would probably be preferable to the old 
>> llvm-gcc or gcc.
> 
> You are indeed correct; the line to add the compiler_blacklist_versions 
> portgroup got dropped somewhere along the way.  And the buildbots were down 
> when the change was committed.
> 
> Is this something that lint could be made to pick up?  ie a compiler version 
> comparison used but required PortGroup missing?

Good idea. Done in r119714.

Ultimately the workings of the compiler_blacklist_versions portgroup should be 
incorporated into base instead.


> Pre-XCode 5, Myth builds and runs fine with gcc and llvm-gcc.  The the 
> upstream project only recently put in some fixes that allow it to build with 
> later versions of clang.
> 
> Re MacPorts-supplied versions of clang, I simply haven't tried to build with 
> them.  I cribbed that section from qt4-mac port since it had the same issue 
> with LIBRARY_PATH that I had.  The 'macports-clang*' exclusion is probably 
> extraneous but I wanted to be sure to use know-working compilers, only.

There may be some small difference between MacPorts clang and Xcode clang, but 
the primary difference is the version numbering.

According to our XcodeVersionInfo wiki page, Xcode 5.0 came with “Apple LLVM 
version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)”. “LLVM 3.3svn” means that 
this version corresponds to some version of LLVM that is greater than 3.3 and 
less than 3.4. So if you already know that Xcode 5’s clang works, and earlier 
Xcodes’ clangs don’t work, then you also know that MacPorts clang 3.3 and 
earlier won’t work either, and MacPorts clang 3.4 and later should work.

___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: compiler.blacklist

2014-05-03 Thread Craig Treleaven

At 8:34 PM -0500 5/2/14, Ryan Schmidt wrote:

On May 2, 2014, at 20:20, Craig Treleaven wrote:


 For my mythtv-core.xx ports, I want to blacklist clang prior to 
XCode 5, so I added:


 compiler.blacklist-append { clang <= 500.2.79 } \

 >macports-clang*


 That doesn't work when I build on Lion with XCode 4.3.3 (clang 
318.0.61)--it tries to build with clang and falls over.


That sounds like you may not have included the 
compiler_blacklist_versions 1.0 portgroup. If you do that, it should 
do what you say: blacklist all MacPorts clangs, and Xcode clangs 
less than 500. So on Macs with Xcode 4 or earlier, you'll be 
building with llvm-gcc-4.2 or gcc-4.2. Is that really what you want? 
If Xcode 5's clang is ok, presumably MacPorts clang 3.5 would work 
too, maybe even 3.4, and those would probably be preferable to the 
old llvm-gcc or gcc.


You are indeed correct; the line to add the 
compiler_blacklist_versions portgroup got dropped somewhere along the 
way.  And the buildbots were down when the change was committed.


Is this something that lint could be made to pick up?  ie a compiler 
version comparison used but required PortGroup missing?


Pre-XCode 5, Myth builds and runs fine with gcc and llvm-gcc.  The 
the upstream project only recently put in some fixes that allow it to 
build with later versions of clang.


Re MacPorts-supplied versions of clang, I simply haven't tried to 
build with them.  I cribbed that section from qt4-mac port since it 
had the same issue with LIBRARY_PATH that I had.  The 
'macports-clang*' exclusion is probably extraneous but I wanted to be 
sure to use know-working compilers, only.


Thanks again,

Craig
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: compiler.blacklist

2014-05-02 Thread Ryan Schmidt
On May 2, 2014, at 20:20, Craig Treleaven wrote:
> 
> For my mythtv-core.xx ports, I want to blacklist clang prior to XCode 5, so I 
> added:
> 
> compiler.blacklist-append { clang <= 500.2.79 } \
>macports-clang*
> 
> That doesn't work when I build on Lion with XCode 4.3.3 (clang 318.0.61)--it 
> tries to build with clang and falls over.

That sounds like you may not have included the compiler_blacklist_versions 1.0 
portgroup. If you do that, it should do what you say: blacklist all MacPorts 
clangs, and Xcode clangs less than 500. So on Macs with Xcode 4 or earlier, 
you'll be building with llvm-gcc-4.2 or gcc-4.2. Is that really what you want? 
If Xcode 5's clang is ok, presumably MacPorts clang 3.5 would work too, maybe 
even 3.4, and those would probably be preferable to the old llvm-gcc or gcc. 
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


compiler.blacklist

2014-05-02 Thread Craig Treleaven

Hi:

For my mythtv-core.xx ports, I want to blacklist clang prior to XCode 
5, so I added:


compiler.blacklist-append { clang <= 500.2.79 } \
macports-clang*

That doesn't work when I build on Lion with XCode 4.3.3 (clang 
318.0.61)--it tries to build with clang and falls over.


Looking at a bunch of Portfiles that use compiler blacklist, there 
seem to be two approaches used about equally:


{clang < 425} eg webkit-gtk, and

{clang < 425.0.24} eg mpd

If I change my test to { clang < 500 }, is it going to work right?

Thanks,

Craig
(Yes, I'm rather TCL-challenged.  ;)
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: compiler.blacklist ignored on snow leopard

2013-08-05 Thread Ryan Schmidt

On Aug 5, 2013, at 18:50, Mark Moll wrote:

> In the ompl port I noticed that *gcc-4.2 and older don’t compile certain 
> Boost Graph library constructs used by OMPL. I tried to fix this by adding 
> this line to the Portfile:
> 
>   compiler.blacklist  llvm-gcc-4.2 apple-gcc-4.2 apple-gcc-4.0 gcc-4.2 
> gcc-4.0 gcc-3.3
> 
> But if you look at the build log for the Snow Leopard build slave you’ll see 
> that it is still using /usr/bin/llvm-g++-4.2:
> 
>   
> https://build.macports.org/builders/buildports-snowleopard-x86_64/builds/19334
> 
> Do I explicitly need to specify a compiler for Snow Leopard?

The very old version of clang included with Xcode on Snow Leopard only includes 
a C compiler; it does not include a C++ compiler. Therefore if C++ code needs 
to be compiled, MacPorts chooses to use the llvm-g++-4.2 compiler in that case. 
If that's not suitable for ompl, blacklist old versions of clang using the 
compiler_blacklist_versions portgroup.


___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


compiler.blacklist ignored on snow leopard

2013-08-05 Thread Mark Moll
In the ompl port I noticed that *gcc-4.2 and older don’t compile certain Boost 
Graph library constructs used by OMPL. I tried to fix this by adding this line 
to the Portfile:

compiler.blacklist  llvm-gcc-4.2 apple-gcc-4.2 apple-gcc-4.0 gcc-4.2 
gcc-4.0 gcc-3.3

But if you look at the build log for the Snow Leopard build slave you’ll see 
that it is still using /usr/bin/llvm-g++-4.2:


https://build.macports.org/builders/buildports-snowleopard-x86_64/builds/19334

Do I explicitly need to specify a compiler for Snow Leopard?
-- 
Mark Moll





signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


compiler.blacklist

2012-06-29 Thread Ryan Schmidt
On Jun 29, 2012, at 04:18, j...@macports.org wrote:

> Revision: 94768
>  https://trac.macports.org/changeset/94768
> Author:   j...@macports.org
> Date: 2012-06-29 02:18:08 -0700 (Fri, 29 Jun 2012)
> Log Message:
> ---
> ccrypt: blacklist clang (see #32377)
> 
> Modified Paths:
> --
>trunk/dports/security/ccrypt/Portfile
> 
> Modified: trunk/dports/security/ccrypt/Portfile
> ===
> --- trunk/dports/security/ccrypt/Portfile 2012-06-29 08:06:59 UTC (rev 
> 94767)
> +++ trunk/dports/security/ccrypt/Portfile 2012-06-29 09:18:08 UTC (rev 
> 94768)
> @@ -34,6 +34,11 @@
> sha15ad1889c71be905c3004c80dc011948c9c35c814 \
> rmd160  2e7ec037dcfab82ad6963b8644a52017ac6c003e
> 
> +depends_lib port:gettext
> +
> +# test fails, ticket #32377
> +compiler.blacklist  clang


I assume this new compiler.blacklist feature replaces some or all of our 
previous recommendations for how to override the default compiler? Could you or 
someone who understands the new feature update our recipe? Thanks.

https://trac.macports.org/wiki/PortfileRecipes#compiler

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev