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