<div dir="ltr">Hello Mark,<div><br></div><div>Don't whitelist a particular one that you think works; blacklist ones that you know don't work.</div><div>Additionally, I wonder if you are actually using the result of the compilers portgroup. You have to tell it to use the compiler from the variants for e.g. CC. See examples on that. If you don't do this, it has no effect on what is used. Yes there are also some subtleties about different versions of compilers as stated here: <a href="https://trac.macports.org/wiki/UsingTheRightCompiler">https://trac.macports.org/wiki/UsingTheRightCompiler</a></div><div><br></div><div>David</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 3, 2022 at 2:16 PM Mark Brethen <<a href="mailto:mark.brethen@gmail.com">mark.brethen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div>Having looked at the examples, this one is similar to what I tried (and fails to build):</div><div><br></div><div><div>compilers.choose    fc cc</div><div>compilers.setup     require_fortran -g95 -clang</div></div><div><br></div><div>:info:build make: *** [ccx_2.18.a] Error 1</div><div><div>:info:build make: Leaving directory `/opt/local/var/macports/build/_Users_marbre_ports_cad_CalculiX-ccx/CalculiX-ccx/work/ccx_2.18/src'</div><div>:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_marbre_ports_cad_CalculiX-ccx/CalculiX-ccx/work/ccx_2.18/src" && /usr/bin/make -j1 -w CC=/usr/bin/clang FC= CFLAGS="-O2 -I../../spooles-2.2/ -DARCH=Linux -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT=1" DIR="../../spooles-2.2" </div><div>:info:build Exit code: 2</div><div>:error:build Failed to build CalculiX-ccx: command execution failed</div><div>:debug:build Error code: CHILDSTATUS 48534 2</div><div>:debug:build Backtrace: command execution failed</div><div>:debug:build     while executing</div><div>:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"</div><div>:debug:build     invoked from within</div><div>:debug:build "command_exec -callback portprogress::target_progress_callback build"</div><div>:debug:build     (procedure "portbuild::build_main" line 8)</div><div>:debug:build     invoked from within</div><div>:debug:build "$procedure $targetname"</div></div><div><br></div><div><br></div><div>whereas adding a whitelist succeeds (using gfortran):</div><div><br></div><div><div>compiler.whitelist  macports-gcc-11</div><div>compilers.choose    fc cc</div><div>compilers.setup     require_fortran -g95 -clang</div></div><div><br></div><div>Is this a difference between mp and apple gcc?</div><div><br></div><br><div>
<div>Mark Brethen</div><div><a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a></div><div><br></div><br>

</div>
<div><br><blockquote type="cite"><div>On Jul 3, 2022, at 2:50 PM, David Strubbe <<a href="mailto:dstrubbe@macports.org" target="_blank">dstrubbe@macports.org</a>> wrote:</div><br><div><div dir="ltr">Hello Mark,<div><br></div><div>I think you may have a basic misunderstanding here. The compilers portgroup provides variants that select compilers, rather than being a way to select the compiler in the portfile. It will provide gcc/gfortran (in specific versions). If something like clang doesn't work, you remove it from the variants list. "active_variants" is about compatibility of compilers used by dependences. As far as I know, variants are definitely still the recommended way of handling compiler selection. I suggest you look at some examples to see how to use compilers portgroup. I made many in the science category, such as octopus, sparskit, berkeleygw, libxc.</div><font color="#888888"><div><br></div><div>David</div></font></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 2, 2022 at 4:20 PM Mark Brethen <<a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This port does not have config, so I’m having to pass the build args. How do I specify a gcc (gfortran) compiler? Clang doesn’t work.<br>
<br>
Thanks,<br>
Mark<br>
<br>
<br>
<br>
> On Jul 2, 2022, at 2:21 PM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a>> wrote:<br>
> <br>
> Still not working…<br>
> <main.log><br>
> <br>
> <br>
> Mark Brethen<br>
> <a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a><br>
> <br>
> <br>
> <br>
>> On Jul 2, 2022, at 2:15 PM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a>> wrote:<br>
>> <br>
>> I should have looked at the active-variants tcl:<br>
>> <br>
>> require_active_variants arpack accelerate mpich<br>
>> <br>
>> should be<br>
>> <br>
>> require_active_variants arpack "accelerate mpich"<br>
>> <br>
>> Mark Brethen<br>
>> <a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a><br>
>> <br>
>> <br>
>> <br>
>>> On Jul 2, 2022, at 1:48 PM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a>> wrote:<br>
>>> <br>
>>> Attaching log<br>
>>> <main.log><br>
>>> <br>
>>> Mark<br>
>>> <br>
>>> <br>
>>> <br>
>>>> On Jul 2, 2022, at 9:22 AM, Mark Brethen <<a href="mailto:mark.brethen@gmail.com" target="_blank">mark.brethen@gmail.com</a>> wrote:<br>
>>>> <br>
>>>> I looked at the compilers PortGroup tcl but can’t figure out how to set up gcc (for gfortran). I tried setting "compilers.choose cc” and “compilers.setup require_fortran” but it continues to use clang.<br>
>>>> <br>
>>>> Thanks<br>
>>>> Mark<br>
>>>> <br>
>>>> <br>
>>> <br>
>> <br>
> <br>
<br>
</blockquote></div>
</div></blockquote></div><br></div></blockquote></div>