Re: [petsc-dev] (arm64) could not find object file symbol for symbol ___muldc3
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>
participants (1)
-
Barry Smith