Le 17 avr. 2014 à 18:13, Sean Farley <[email protected]> a écrit :

> Sébastien Maret <[email protected]> writes:
> 
>> Le 17 avr. 2014 à 01:19, Sean Farley <[email protected]> a écrit :
>> 
>>> Sébastien Maret <[email protected]> writes:
>>> 
>>>> Le 27 mars 2014 à 22:03, Ryan Schmidt <[email protected]> a écrit :
>>>> 
>>>>> On Mar 27, 2014, at 09:14, Sébastien Maret wrote:
>>>>> 
>>>>>> I’m writing a portfile for a software written in C/C++ and Fortran77/90:
>>>>>> http://trac.macports.org/ticket/42886
>>>>>> 
>>>>>> Following a comment macsforever2000, I’ve modified my original port to 
>>>>>> provide several fortran compiler variants. However, my port requires 
>>>>>> that CC, CXX, CPP, and FC/F77 are all from a gcc variant. For example, 
>>>>>> it's not possible to compile it using CC=clang and FC=gfortran-mp-4.8. 
>>>>>> How can I modify it so that all compilers come from the same compiler 
>>>>>> suite?
>>>>>> 
>>>>>> Thanks in advance for your advices.
>>>>> 
>>>>> You do know that as of Mavericks, trying to compile C++ code with 
>>>>> anything other than clang is a fool’s errand, right?
>>>>> 
>>>>> https://trac.macports.org/wiki/FAQ#libcpp
>>>> 
>>>> No, I didn’t know that.
>>>> 
>>>>> *Why* is it not possible to compile your software using CC=clang and 
>>>>> FC=gfortran-mp-4.8?
>>>> 
>>>> I tried that but the compilation failed. I don’t exactly why but I’ll have 
>>>> a closer look. 
>>> 
>>> Sorry for the late reply, but it took me a while to catch up. Ryan is
>>> right, of course. You should really figure out why they aren't compiling
>>> and try to fix those errors.
>> 
>> Thanks for your answer.
>> 
>> I found the problem: the link was done against libstdc++ instead if libc++. 
>> I’ve fixed this and I’ve just posted a revised version of the port on the 
>> tracker.
> 
> Looking at the portfile, things seem mostly fine. A few comments (which
> will hopefully help start documenting the compilers portgroup :-)
> 
> - compilers.choose is really meant to serve as a way to isolate a c-only
>  or fortran-only build; since you specify both, you don't need it

But isn’t this needed to set both CC, FC and CPP ? 

> - removing the clang variants only stops macport's clang compilers from
>  being used; this is fine but since you don't need c++ you could mix
>  clang with gfortran

Indeed I do need C++. And since a Fortran compiler is also needed, I would 
prefer to compiling Fortran and C with compilers from the same compiler suite 
(GCC) to avoid link problems. In addition the package requires CPP from GCC to 
compile properly (it is used in a non-standard way to pre-process Fortran code, 
and this does not work with Apple’s CPP).

In fact I removed the clang variants because clang does not compile Fortran 
(same for drgaonegg). Why are variants present when require_fortran is set ? 

> - what is it with IRAM, Labri, and Enseeiht not using autoconf? is
>  everyone in France allergic to autotools?

I’m not...  In fact, I would love them to use autotools. It would make the 
packaging a lot easier. I’ll forward your comment to them :-)

> - (note to self) I really need to figure out why mpi_variant_isset
>  doesn't work outside of a staging block (e.g. pre-configure)
> 
> I'll try to compile the port today and see if I can get clang working.

OK. Thanks for looking at this.

Sébastien



_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to