[MacPorts] #47695: Compiling SLEPc with ARPACK supports breaks because of "Undefined symbols for architecture x86_64"

MacPorts noreply at macports.org
Sun May 10 03:36:41 PDT 2015


#47695: Compiling SLEPc with ARPACK supports breaks because of  "Undefined symbols
for architecture x86_64"
-------------------------------------------------+-------------------------
 Reporter:  drososkourounis@…                    |      Owner:  macports-
     Type:  defect                               |  tickets@…
 Priority:  High                                 |     Status:  new
Component:  ports                                |  Milestone:
 Keywords:  ARPACK, _pdseupd, _pdsaupd,          |    Version:  2.3.3
  _pdnaupd                                       |       Port:  ARPACK
-------------------------------------------------+-------------------------
 Dear developers,

 something is wrong with the ARPACK library in MacPorts I tried several
 different ways to install it to no avail. At the end I found something as
 last chance:


 {{{
 $ sudo port install arpack +openmpi -gcc46 -gcc47 -gcc45 -accelerate
 +atlas
 }}}


 All other options, of compiling arpack produce the same results as the one
 you see below, i.e., undefined symbols that are supposed to exists in the
 arpack library. I compiled without +openmpi and +atlas or +accelerate. All
 possible combinations. What is wrong?


 {{{
 Starting Configure Run at Sun May 10 12:03:48 2015
 Configure Options: ./configure
 --prefix=~/Work/Software/Optimization/FENICS/slepc-3.5.3/build --with-
 arpack=1 --with-arpack-dir=/opt/local/lib --with-arpack-flags=-larpack


 Working directory:
 /Users/drosos/Work/Software/Optimization/FENICS/slepc-3.5.3
 Python version:
 2.7.5 (default, Mar  9 2014, 22:15:05)
 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
 make: /opt/local/bin/gmake
 PETSc source directory: /opt/local/lib/petsc
 PETSc install directory: /opt/local/lib/petsc
 PETSc version: 3.5.3
 SLEPc source directory:
 /Users/drosos/Work/Software/Optimization/FENICS/slepc-3.5.3
 SLEPc install directory:
 ~/Work/Software/Optimization/FENICS/slepc-3.5.3/build
 SLEPc version: 3.5.3
 ================================================================================
 Checking PETSc installation...
 #include "petscksp.h"
 int main() {
 Vec v; Mat m; KSP k;
 PetscInitializeNoArguments();
 VecCreate(PETSC_COMM_WORLD,&v);
 MatCreate(PETSC_COMM_WORLD,&m);
 KSPCreate(PETSC_COMM_WORLD,&k);
 return 0;
 }
 /opt/local/bin/mpicc-openmpi-mp -o checklink.o -c -pipe -Os -arch x86_64
 -fPIC -Os -I/opt/local/include  -I/opt/local/lib/petsc/include
 -I/opt/local/lib/petsc/include -I/opt/local/include -I/opt/local/include
 /openmpi-mp  -I/opt/local/include   `pwd`/checklink.c
 /opt/local/bin/mpicc-openmpi-mp -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch x86_64
 -Wl,-multiply_defined,suppress -Wl,-multiply_defined -Wl,suppress
 -Wl,-commons,use_dylibs -Wl,-search_paths_first -pipe -Os -arch x86_64
 -fPIC -Os  -o checklink checklink.o  -L/opt/local/lib/petsc/lib
 -L/opt/local/lib/petsc/lib  -lpetsc -L/opt/local/lib -lHYPRE -lumfpack
 -lklu -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig
 /System/Library/Frameworks/Accelerate.framework/Versions/Current/Accelerate
 -lparmetis -lmetis -lpthread -lhwloc -lssl -lcrypto -ldl -L/opt/local/lib
 /openmpi-mp -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran
 -L/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.4
 -L/opt/local/lib/gcc48 -lgfortran -lSystem -lgcc_ext.10.5 -lquadmath -lm
 -ldl
 ================================================================================
 Checking ARPACK library...

 === With linker flags: -L/opt/local/lib -larpack
 ====== With underscore Fortran names
 #include "petscksp.h"
 PETSC_EXTERN int
 pdnaupd_();
 PETSC_EXTERN int
 pdneupd_();
 PETSC_EXTERN int
 pdsaupd_();
 PETSC_EXTERN int
 pdseupd_();
 int main() {
 Vec v; Mat m; KSP k;
 PetscInitializeNoArguments();
 VecCreate(PETSC_COMM_WORLD,&v);
 MatCreate(PETSC_COMM_WORLD,&m);
 KSPCreate(PETSC_COMM_WORLD,&k);
 pdnaupd_();
 pdneupd_();
 pdsaupd_();
 pdseupd_();
 return 0;
 }
 /opt/local/bin/mpicc-openmpi-mp -o checklink.o -c -pipe -Os -arch x86_64
 -fPIC -Os -I/opt/local/include  -I/opt/local/lib/petsc/include
 -I/opt/local/lib/petsc/include -I/opt/local/include -I/opt/local/include
 /openmpi-mp  -I/opt/local/include   `pwd`/checklink.c
 /opt/local/bin/mpicc-openmpi-mp -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch x86_64
 -Wl,-multiply_defined,suppress -Wl,-multiply_defined -Wl,suppress
 -Wl,-commons,use_dylibs -Wl,-search_paths_first -pipe -Os -arch x86_64
 -fPIC -Os  -o checklink checklink.o -L/opt/local/lib -larpack
 -L/opt/local/lib/petsc/lib -L/opt/local/lib/petsc/lib  -lpetsc
 -L/opt/local/lib -lHYPRE -lumfpack -lklu -lcholmod -lbtf -lccolamd
 -lcolamd -lcamd -lamd -lsuitesparseconfig
 /System/Library/Frameworks/Accelerate.framework/Versions/Current/Accelerate
 -lparmetis -lmetis -lpthread -lhwloc -lssl -lcrypto -ldl -L/opt/local/lib
 /openmpi-mp -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran
 -L/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.4
 -L/opt/local/lib/gcc48 -lgfortran -lSystem -lgcc_ext.10.5 -lquadmath -lm
 -ldl
 Undefined symbols for architecture x86_64:
   "_pdnaupd_", referenced from:
       _main in checklink.o
   "_pdneupd_", referenced from:
       _main in checklink.o
   "_pdsaupd_", referenced from:
       _main in checklink.o
   "_pdseupd_", referenced from:
       _main in checklink.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 makefile:2: recipe for target 'checklink' failed
 gmake: *** [checklink] Error 1
 ====== With capital Fortran names
 #include "petscksp.h"
 PETSC_EXTERN int
 PDNAUPD();
 PETSC_EXTERN int
 PDNEUPD();
 PETSC_EXTERN int
 PDSAUPD();
 PETSC_EXTERN int
 PDSEUPD();
 int main() {
 Vec v; Mat m; KSP k;
 PetscInitializeNoArguments();
 VecCreate(PETSC_COMM_WORLD,&v);
 MatCreate(PETSC_COMM_WORLD,&m);
 KSPCreate(PETSC_COMM_WORLD,&k);
 PDNAUPD();
 PDNEUPD();
 PDSAUPD();
 PDSEUPD();
 return 0;
 }
 /opt/local/bin/mpicc-openmpi-mp -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch x86_64
 -Wl,-multiply_defined,suppress -Wl,-multiply_defined -Wl,suppress
 -Wl,-commons,use_dylibs -Wl,-search_paths_first -pipe -Os -arch x86_64
 -fPIC -Os  -o checklink checklink.o -L/opt/local/lib -larpack
 -L/opt/local/lib/petsc/lib -L/opt/local/lib/petsc/lib  -lpetsc
 -L/opt/local/lib -lHYPRE -lumfpack -lklu -lcholmod -lbtf -lccolamd
 -lcolamd -lcamd -lamd -lsuitesparseconfig
 /System/Library/Frameworks/Accelerate.framework/Versions/Current/Accelerate
 -lparmetis -lmetis -lpthread -lhwloc -lssl -lcrypto -ldl -L/opt/local/lib
 /openmpi-mp -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran
 -L/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.4
 -L/opt/local/lib/gcc48 -lgfortran -lSystem -lgcc_ext.10.5 -lquadmath -lm
 -ldl
 Undefined symbols for architecture x86_64:
   "_pdnaupd_", referenced from:
       _main in checklink.o
   "_pdneupd_", referenced from:
       _main in checklink.o
   "_pdsaupd_", referenced from:
       _main in checklink.o
   "_pdseupd_", referenced from:
       _main in checklink.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 makefile:2: recipe for target 'checklink' failed
 gmake: *** [checklink] Error 1
 ====== With unmodified Fortran names
 #include "petscksp.h"
 PETSC_EXTERN int
 pdnaupd();
 PETSC_EXTERN int
 pdneupd();
 PETSC_EXTERN int
 pdsaupd();
 PETSC_EXTERN int
 pdseupd();
 int main() {
 Vec v; Mat m; KSP k;
 PetscInitializeNoArguments();
 VecCreate(PETSC_COMM_WORLD,&v);
 MatCreate(PETSC_COMM_WORLD,&m);
 KSPCreate(PETSC_COMM_WORLD,&k);
 pdnaupd();
 pdneupd();
 pdsaupd();
 pdseupd();
 return 0;
 }
 /opt/local/bin/mpicc-openmpi-mp -o checklink.o -c -pipe -Os -arch x86_64
 -fPIC -Os -I/opt/local/include  -I/opt/local/lib/petsc/include
 -I/opt/local/lib/petsc/include -I/opt/local/include -I/opt/local/include
 /openmpi-mp  -I/opt/local/include   `pwd`/checklink.c
 /opt/local/bin/mpicc-openmpi-mp -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch x86_64
 -Wl,-multiply_defined,suppress -Wl,-multiply_defined -Wl,suppress
 -Wl,-commons,use_dylibs -Wl,-search_paths_first -pipe -Os -arch x86_64
 -fPIC -Os  -o checklink checklink.o -L/opt/local/lib -larpack
 -L/opt/local/lib/petsc/lib -L/opt/local/lib/petsc/lib  -lpetsc
 -L/opt/local/lib -lHYPRE -lumfpack -lklu -lcholmod -lbtf -lccolamd
 -lcolamd -lcamd -lamd -lsuitesparseconfig
 /System/Library/Frameworks/Accelerate.framework/Versions/Current/Accelerate
 -lparmetis -lmetis -lpthread -lhwloc -lssl -lcrypto -ldl -L/opt/local/lib
 /openmpi-mp -lmpi_usempi -lmpi_mpifh -lmpi -lgfortran
 -L/opt/local/lib/gcc48/gcc/x86_64-apple-darwin13/4.8.4
 -L/opt/local/lib/gcc48 -lgfortran -lSystem -lgcc_ext.10.5 -lquadmath -lm
 -ldl
 Undefined symbols for architecture x86_64:
   "_pdnaupd", referenced from:
       _main in checklink.o
   "_pdneupd", referenced from:
       _main in checklink.o
   "_pdsaupd", referenced from:
       _main in checklink.o
   "_pdseupd", referenced from:
       _main in checklink.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)
 makefile:2: recipe for target 'checklink' failed
 gmake: *** [checklink] Error 1
 ERROR: Unable to link with library ARPACK
 ERROR: In directories /opt/local/lib
 ERROR: With flags -L/opt/local/lib -larpack
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/47695>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list