library not found for -lgfortran

Sean Farley sean at macports.org
Tue Jul 8 11:28:55 PDT 2014


Mark Brethen writes:

> Sent from my iPhone
>
>> On Jul 8, 2014, at 11:56 AM, Sean Farley <sean at macports.org> wrote:
>> 
>> 
>> Mark Brethen writes:
>> 
>>> Sent from my iPhone
>>> 
>>>> On Jul 8, 2014, at 10:47 AM, Sean Farley <sean at macports.org> wrote:
>>>> 
>>>> 
>>>> Ryan Schmidt writes:
>>>> 
>>>>>>> On Jul 8, 2014, at 7:34 AM, Mark Brethen wrote:
>>>>>>> 
>>>>>>>> On Jul 8, 2014, at 3:05 AM, Ryan Schmidt wrote:
>>>>>>>> 
>>>>>>>> On Jul 7, 2014, at 11:28 PM, Mark Brethen wrote:
>>>>>>>> 
>>>>>>>> I was told that until a patch is submitted, I can just add -L/opt/local/lib/gcc48 to the LDFLAGS environment variable. So I put this in the portfile:
>>>>>>>> 
>>>>>>>> configure.ldflags-append "-L${prefix}/lib/gcc48"
>>>>>>>> 
>>>>>>>> I'm thinking that "gcc48" should be replaced by a variable, but what do I use?
>>>>>>> 
>>>>>>> MacPorts doesn't provide a variable suitable for that. If you have gcc variants, you could append to configure.ldflags in each variant, adjusting the path as needed for each gcc version.
>>>>>> 
>>>>>> I have:
>>>>>> 
>>>>>> compilers.choose        fc
>>>>>> compilers.setup         -dragonegg -g95 require_fortran
>>>>>> 
>>>>>> if {![fortran_variant_isset]} {
>>>>>>  default_variants-append +gcc48
>>>>>> }
>>>>>> 
>>>>>> configure.ldflags-append "-L${prefix}/lib/gcc48 -lgfortran"
>>>> 
>>>> This kind of information can only be reliably found out at configure
>>>> time. In other words, why isn't the FreeCAD project figuring this out
>>>> based on the fortran compiler with a configure test?
>>> They are aware that this needs to be patched. In the meantime they suggested setting it.
>> 
>> This is a big deal.
>> 
>>>>>> If the user has set a different version of gcc this won't work.
>>>>> 
>>>>> Oh, you don't create the compiler variants manually; you have the compilers portgroup do it for you. I'm not sure how the author of that portgroup intended for this situation to be handled. Maybe it does provide a variable for the currently–selected variant. Sean?
>>>> 
>>>> This situation smells awfully like something else is going on here. This
>>>> might mean that the linker should be FC instead of CC or CXX but that's
>>>> just a thought.
>>> 
>>> I don't know. For now, maybe I should restrict it to gcc48 like so
>>> 
>>> compilers.setup -dragonegg -g95 -gcc +gcc48 require_fortran
>> 
>> You probably want just +gfortran (which points to the latest one in macports)
> Is the lib path the same (L${prefix}/lib/gcc48 -lgfortran")?

Yes. It depends on the gcc48 port. The reason it exists is to
distinguish between variants that change the C/C++ compilers.


More information about the macports-dev mailing list