compilers PortGroup

Chris Jones jonesc at hep.phy.cam.ac.uk
Sun Jul 17 11:15:46 UTC 2022



> On 17 Jul 2022, at 1:59 am, Mark Brethen <mark.brethen at gmail.com> wrote:
> 
> I’ve tested the build with gfortran-mp-12  which fails:
> 
> :info:build /opt/local/bin/gfortran-mp-12 -Wall -O2 -c gencontelem_n2f.f
> :info:build gencontelem_n2f.f:595:39:
> :info:build   184 |                call isortii(ialset(istartset(iset)),idummy,
> :info:build       |                                                    2
> :info:build ......
> :info:build   595 |                     call isortii(nodef,iorder,nopes,kflag)
> :info:build       |                                       1
> :info:build Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
> :info:build make: *** [gencontelem_n2f.o] Error 1
> 
> How is a particular value of gfortran blacklisted, in this case gfortran-mp-12? 

As Ken has eluded to, this is not a problem with the compiler, but an issue i. The code itself made apparent by stricter checks in recent compilers. You will likely run into the same with most recent versions so blacklisting is not the fix here.

The option Ken mentioned turns off those checks

https://github.com/macports/macports-ports/blob/8f07e286eac6e7fa7c9bcd282cc461ee945c7c8d/_resources/port1.0/group/compilers-1.0.tcl#L782

so is definitely the way forward I would think.

Chris

> 
> Mark Brethen
> mark.brethen at gmail.com
> 
> 
> 
>> On Jul 6, 2022, at 10:19 PM, Mark Brethen <mark.brethen at gmail.com> wrote:
>> 
>> The Spooles library is written in C language and has multi-threading subroutines.
>> 
>> Mark Brethen
>> mark.brethen at gmail.com
>> 
>> 
>> 
>>>> On Jul 6, 2022, at 5:06 PM, Joshua Root <jmr at macports.org> wrote:
>>> 
>>> On 2022-7-7 07:40 , Mark Brethen wrote:
>>>> The source is a combination of C and fortran, so a C-compiler with fortran is needed-preferably gcc. The gcc8 build is the only one that does not issue those warnings. But I have successfully run verification test cases packaged with the source against gcc8, gcc9, gcc11 and gfortran builds.
>>>> The compilers PortGroup sets gfortran by default with these settings:
>>>> compilers.choose    fc cc
>>>> compilers.setup     require_fortran -g95 -clang
>>>> But it uses clang to compile the C-code. I tried blacklisting clang but then it wants to install clang-14. Choosing a gcc variant uses its associated mp-gfortan compiler.
>>> 
>>> Yes, +gfortran is there to only give you a fortran compiler (because clang doesn't have one). Is there a reason you need the C code to be compiled with gcc?
>>> 
>>> - Josh
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20220717/be7e5b34/attachment.htm>


More information about the macports-dev mailing list