Ok, thanks. I am not sure how to handle it. libgcc_s.1.dylib never appears 
in the configure process and we don't actually test that the Fortran compiler 
can link C; for 25 years it just always could. 

   Barry


> On Apr 7, 2021, at 10:49 AM, Blaise A Bourdin <[email protected]> wrote:
> 
> No luck with -lgcc but it looks like this symbol is defined in 
> /usr/local/Cellar/gcc/10.2.0_4/lib/gcc/10/libgcc_s.1.dylib
> 00000000000039b0 T ___muldc3
> 
> So adding -lgcc_s.1 eliminates the warning.
> I assume that the issue is with gcc-10 on macOS ARM. I can try to report it 
> to upstream to although building a small test may be a bit challenging.
> 
> Regards,
> Blaise
> 
>> On Apr 6, 2021, at 5:32 PM, Barry Smith <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>>     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] 
>>> <mailto:[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%7C7df7aff43faa4aa853dc08d8f94bd292%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533451348637504%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=afb7L7ous6bquDeChU2Gx9Oxu19C4F7Qo9gaATzs0q4%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%7C7df7aff43faa4aa853dc08d8f94bd292%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533451348642492%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=YS2BBoI%2BhyomGpXKxA%2Fzpy%2FeA9r5smQnAq2ALrPGQ9s%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%7C7df7aff43faa4aa853dc08d8f94bd292%7C2d4dad3f50ae47d983a09ae2b1f466f8%7C0%7C0%7C637533451348647483%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=LgObsaA9qG7xidNGs2%2Ft38SnC5thdvzOd6WHpS0ivcQ%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>
>> 
> 
> -- 
> 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>

Reply via email to