Ryan Schmidt writes:

> On Dec 14, 2014, at 11:41 AM, Sean Farley wrote:
>
>> Ryan Schmidt writes:
>> 
>>> On Dec 14, 2014, at 2:28 AM, Sean Farley wrote:
>>> 
>>>> So, I've added support into the compilers portgroup for working with
>>>> the compiler.blacklist variable but that doesn't fix the issue that Ryan
>>>> tried to fix with r125939:
>>>> 
>>>> https://trac.macports.org/changeset/125939
>>>> 
>>>> It seems instead that the fix is just to remove the gcc variants:
>>>> 
>>>> mpi.setup -gcc
>>>> 
>>>> Is there anything wrong with this proposed fix? If no one objects, I'll
>>>> push my changesets which 1) add blacklist support to the compilers
>>>> portgroup and 2) add mpi portgroup to boost (but remove gcc variants).
>>> 
>>> Right, using gcc variants causes the use of libstdc++ which causes the 
>>> problem on Mavericks and later.
>>> 
>>> So, without gcc variants, what variants remain?
>> 
>> clang 3.x and all versions of dragonegg. Multiple that set with all the
>> mpi choices, too.
>
> So, this would add clang33, clang34, clang35 variants, for example? But these 
> would be different from the clang 3.x provided by Xcode in some way? The 
> MacPorts clang ports would be able to use MPI somehow, while Xcode clang 
> would not?

... ?

First of all, for the sake of completeness, the list of variants would
be:

$ port info boost
boost @1.56.0_2 (devel)
Variants:             clang31, clang32, clang33, clang34, clang35, debug, 
mpich, mpich_devel, [+]no_single, [+]no_static, openmpi, openmpi_devel, 
python25, python26, [+]python27, python31, python32, python33, python34, 
regex_match_extra, universal

The reason I wrote the mpi and compilers portgroup was because there was
no way to make sure the same compiler for both is selected. For example,

$ port install boost +clang35 +mpich

will install mpich (built with clang35 compilers) and boost (built with
clang35 compilers).

The clang provided by Xcode can be used, of course, which is the
default:

$ port install boost +mpich

will install mpich (built with Xcode compilers) and boost (built with
Xcode compilers). This will change depending on the OS version.

Perhaps you're missing that MPI is a library that provide compiler
*wrappers*? If a package needs MPI then that package is compiled with:

CC=mpicc
CXX=mpicxx
FC=mpifort
etc.
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to