[petsc-dev] (arm64) could not find object file symbol for symbol ___muldc3

Matthew Knepley knepley at gmail.com
Tue Apr 6 11:00:27 CDT 2021


On Tue, Apr 6, 2021 at 11:04 AM Blaise A Bourdin <bourdin at lsu.edu> 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
> /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

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
>
>

-- 
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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20210406/1f593f23/attachment.html>


More information about the petsc-dev mailing list