[petsc-users] 3.16.4 amd blis libflame linking problem
Anton Popov
popov at uni-mainz.de
Fri Feb 4 11:48:00 CST 2022
Thanks Matt, Barry and Satish, for your suggestions.
The problem was indeed in mismatch between the gfortran library version
(system has libgfortran.so.4 libflame needs libgfortran.so.5)
3.9.4 did not detect this during configure, but only gave error later
during test.
3.16.4 detected this immediately.
After installing libgfortran.so.5, both PETSc versions install just
fine, however I get the warning mentioned by Satish.
Maybe it is indeed worth upgrading everything to the compatible versions.
Best,
Anton
On 04.02.22 18:33, Barry Smith wrote:
>
>> On Feb 4, 2022, at 12:27 PM, Satish Balay <balay at mcs.anl.gov> wrote:
>>
>> Probably best if you can use the same version of gfortran to build both petsc and libflame/blis
>>
>>> /usr/bin/ld: warning: libgfortran.so.5, needed by /opt/amd/amd-libflame-3.1.0/lib/lp64/libflame.so, not found (try using -rpath or -rpath-link):
>> This is probably an ignore-able warning - but configure defaults to -Werror mode here.
> Hmm, if it needs libgfortran.so.5 then it needs it and it cannot be ignored since a link cannot succeed. Flame presumably contains a lot of old Fortran code from Lapack so would normally need the fortran libraries.
>
>> Wrt forcing link with static libraries - you can try:
>>
>> LIBS="/opt/amd/amd-libflame-3.1.0/lib/lp64/libflame.a /opt/amd/amd-blis-3.1.0/lib/lp64/libblis.a"
>>
>> [instead of --with-blas-lib= --with-lapack-lib= options].
>>
>> Satish
>>
>>
>> On Fri, 4 Feb 2022, Barry Smith wrote:
>>
>>> Please do
>>>
>>> ldd -O /opt/amd/amd-libflame-3.1.0/lib/lp64/libflame.so
>>>
>>> You may need to list the gfortran library directory of libgfortran.so.5 it needs to use in LDFLAGS passed to PETSc configure
>>>
>>> Barry
>>>
>>> Note: Even though you explicitly listed a static library of libflame to use our configure is goofy and loses that information and wants to link with the shared version
>>>
>>>
>>>> On Feb 4, 2022, at 12:00 PM, Anton Popov <popov at uni-mainz.de> wrote:
>>>>
>>>>
>>>>
>>>> On 04.02.22 17:39, Matthew Knepley wrote:
>>>>> On Fri, Feb 4, 2022 at 11:35 AM Anton Popov <popov at uni-mainz.de <mailto:popov at uni-mainz.de>> wrote:
>>>>> Hi Satish,
>>>>>
>>>>> I just discovered that PETSc 3.16.4 fails to link against the latest AMD
>>>>> BLIS and LibFLAME libraries on a Linux box.
>>>>>
>>>>> -------------------------------------------------------------------------------
>>>>> You set a value for --with-blas-lib=<lib> and --with-lapack-lib=<lib>,
>>>>> but ['/opt/amd/amd-blis-3.1.0/lib/lp64/libblis.a'] and
>>>>> ['/opt/amd/amd-libflame-3.1.0/lib/lp64/libflame.a'] cannot be used
>>>>> *******************************************************************************
>>>>>
>>>>> My previous experience with 3.9.4 on the same system was fully
>>>>> successful. Looking in the configure logs (attached) reveals small
>>>>> difference in the linking compared to 3.9.4
>>>>>
>>>>> Could you please make a guess what went wrong?
>>>>>
>>>>> Down in the log I see:
>>>>>
>>>>> /usr/bin/ld: warning: libgfortran.so.5, needed by /opt/amd/amd-libflame-3.1.0/lib/lp64/libflame.so, not found (try using -rpath or -rpath-link):
>>>> Thanks Matt, I'll try.
>>>>
>>>>> Did the gfortran library move or get upgraded?
>>>> Not at all. I have configured 3.9.4 just now to make a test, and it perfectly finds all the libraries. So there must be something that 3.16.4 does differently.
>>>>
>>>> Best,
>>>>
>>>> Anton
>>>>
>>>>> Thanks,
>>>>>
>>>>> Matt
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Anton
>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
>>>
More information about the petsc-users
mailing list