Blaise,
Thanks, can you try cd src/snes/tutorials and then cut and paste the huge
line that you sent earlier that begins with mpif90 -Wl,-bind_at_load ..... and
add at the end -lgcc and see if that line successfully links the Fortran code?
Thanks
Barry
> On Apr 6, 2021, at 12:22 PM, Blaise A Bourdin <[email protected]> wrote:
>
> Hi Barry,
>
>>
>> Please send configure.log
> See attached
>
>>
>> It would also be helpful if you could run
>>
>> nm -o /usr/lib/lib* | grep muldc3
>
> That is uneventful (I have no idea how these broken symbolic link got there
> and can’t delete them because of SIP)…
> SiMini:lib $ nm -o /usr/lib/lib* | grep muldc3
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libhunspell-1.2.0.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libhunspell-1.2.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libiodbc.2.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libiodbc.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libiodbcinst.2.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libiodbcinst.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libstdc++.6.dylib: No such file or directory.
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm:
> error: /usr/lib/libstdc++.dylib: No such file or directory.
>
> Blaise
>
>
>
>>
>> Our cross language linker tests are not adding all the libraries they need
>> to add when using Fortran for linking.
>>
>> Barry
>>
>>
>>
>>> On Apr 6, 2021, at 11:00 AM, Matthew Knepley <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> On Tue, Apr 6, 2021 at 11:04 AM Blaise A Bourdin <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> Hi,
>>>
>>> I am having the following warning when compiling any fortran example
>>> (currently on main, but it’s been going on for a little while) on a ARM
>>> mac.
>>>
>>>
>>> *******************Error detected during compile or link!*******************
>>> See http://www.mcs.anl.gov/petsc/documentation/faq.html
>>> <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.mcs.anl.gov%2Fpetsc%2Fdocumentation%2Ffaq.html&data=04%7C01%7Cbourdin%40lsu.edu%7C1caa897a3d29406a847a08d8f91e2437%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533255143763999%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jUhAyI70WckpP44KmDOnEFll%2FU4LAJXxjShso6agevU%3D&reserved=0>
>>> /opt/HPC/petsc-main/src/snes/tutorials ex5f
>>> *********************************************************
>>> mpif90 -Wl,-bind_at_load -Wl,-multiply_defined,suppress
>>> -Wl,-multiply_defined -Wl,suppress -Wl,-commons,use_dylibs
>>> -Wl,-search_paths_first -Wl,-no_compact_unwind -ffree-line-length-none
>>> -fallow-argument-mismatch -fPIC -g -ffree-line-length-none
>>> -fallow-argument-mismatch -fPIC -g -I/opt/HPC/petsc-main/include
>>> -I/opt/HPC/petsc-main/bigsur-gcc10.2-arm64-reallybasic-g/include
>>> -I/opt/X11/include ex5f.F90
>>> -Wl,-rpath,/opt/HPC/petsc-main/bigsur-gcc10.2-arm64-reallybasic-g/lib
>>> -L/opt/HPC/petsc-main/bigsur-gcc10.2-arm64-reallybasic-g/lib
>>> -Wl,-rpath,/opt/X11/lib -L/opt/X11/lib
>>> -Wl,-rpath,/opt/homebrew/Cellar/mpich/3.4.1_2/lib
>>> -L/opt/homebrew/Cellar/mpich/3.4.1_2/lib
>>> -Wl,-rpath,/opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1
>>>
>>> -L/opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1
>>> -Wl,-rpath,/opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10
>>> -L/opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10 -lpetsc -llapack -lblas
>>> -lX11 -lc++ -ldl -lmpifort -lmpi -lpmpi -lgfortran -lemutls_w -lm -lc++
>>> -ldl -o ex5f
>>> warning: (arm64) could not find object file symbol for symbol muldc3
>>> Fortran example src/snes/tutorials/ex5f run successfully with 1 MPI process
>>>
>>>
>>> For reference, here is how I configured petsc:
>>> ./configure --CFLAGS='-Wimplicit-function-declaration'
>>> --FFLAGS="-ffree-line-length-none -fallow-argument-mismatch"
>>> --with-debugging=1 --with-shared-libraries=1
>>> --with-x11=1
>>>
>>> It looks like this symbol is referenced in: sfpack.o
>>>
>>> SiMini:petsc-main (main)$ grep -ri muldc3
>>> bigsur-gcc10.2-arm64-reallybasic-g/*
>>> Binary file bigsur-gcc10.2-arm64-reallybasic-g/lib/libpetsc.3.015.0.dylib
>>> matches
>>> Binary file bigsur-gcc10.2-arm64-reallybasic-g/lib/libpetsc.3.015.dylib
>>> matches
>>> bigsur-gcc10.2-arm64-reallybasic-g/lib/petsc/conf/check.log:warning:
>>> (arm64) could not find object file symbol for symbol ___muldc3
>>> Binary file bigsur-gcc10.2-arm64-reallybasic-g/lib/libpetsc.dylib matches
>>> Binary file
>>> bigsur-gcc10.2-arm64-reallybasic-g/obj/vec/is/sf/impls/basic/sfpack.o
>>> matches
>>>
>>> SiMini:petsc-main (main)$ nm
>>> bigsur-gcc10.2-arm64-reallybasic-g/obj/vec/is/sf/impls/basic/sfpack.o |
>>> grep muldc3
>>> U ___muldc3
>>>
>>> Google tells me it is a gcc thing for complex multiplication. Ah, I think
>>> this is the problem:
>>>
>>> https://lists.mcs.anl.gov/pipermail/mpich-discuss/2012-August/012920.html
>>> <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.mcs.anl.gov%2Fpipermail%2Fmpich-discuss%2F2012-August%2F012920.html&data=04%7C01%7Cbourdin%40lsu.edu%7C1caa897a3d29406a847a08d8f91e2437%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533255143773979%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iLqpods%2FmSEBegdedaR6yWdR3ZZlDqjG%2Fz3195gQOas%3D&reserved=0>
>>>
>>> It is in the C library and you are linking from Fortran, so the
>>> compatibility libraries are not correct.
>>>
>>> Thanks,
>>>
>>> Matt
>>>
>>> Any idea?
>>> Blaise
>>>
>>>
>>> --
>>> A.K. & Shirley Barton Professor of Mathematics
>>> Adjunct Professor of Mechanical Engineering
>>> Adjunct of the Center for Computation & Technology
>>> Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803,
>>> USA
>>> Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 Web
>>> http://www.math.lsu.edu/~bourdin <http://www.math.lsu.edu/~bourdin>
>>>
>>>
>>> --
>>> 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/
>>> <https://nam04.safelinks.protection.outlook.com/?url=http:%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&data=04%7C01%7Cbourdin%40lsu.edu%7C1caa897a3d29406a847a08d8f91e2437%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533255143773979%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2FiiOZhkY8XtRtWjkhddZhf9dUHf06c%2BtbEfcYueecbI%3D&reserved=0>
>>
>
> --
> A.K. & Shirley Barton Professor of Mathematics
> Adjunct Professor of Mechanical Engineering
> Adjunct of the Center for Computation & Technology
> Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803, USA
> Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 Web
> http://www.math.lsu.edu/~bourdin <http://www.math.lsu.edu/~bourdin>
> <configure.log>