#47695 closed defect (wontfix)
arpack @3.1.5: Compiling SLEPc with ARPACK supports breaks because of "Undefined symbols for architecture x86_64"
Reported by: | drososkourounis@… | Owned by: | mf2k (Frank Schima) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ||
Port: | arpack |
Description
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
Change History (5)
comment:1 Changed 10 years ago by mf2k (Frank Schima)
Priority: | High → Normal |
---|
comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | ARPACK _pdseupd _pdsaupd _pdnaupd removed |
---|---|
Owner: | changed from macports-tickets@… to mmoll@… |
Port: | arpack added; ARPACK removed |
Summary: | Compiling SLEPc with ARPACK supports breaks because of "Undefined symbols for architecture x86_64" → arpack @3.1.5: Compiling SLEPc with ARPACK supports breaks because of "Undefined symbols for architecture x86_64" |
comment:3 Changed 10 years ago by mamoll (Mark Moll)
It looks like you are compiling SLEPc yourself rather than installing it through MacPorts. I cannot reproduce your error with port install slepc
on OS X 10.10.3:
> port installed arpack slepc openmpi-default The following ports are currently installed: arpack @3.1.5_0+accelerate+gcc49 (active) openmpi-default @1.7.5_3+gcc49 (active) slepc @3.5.3_1+openmpi (active)
comment:4 Changed 4 years ago by mf2k (Frank Schima)
Owner: | changed from mamoll to mf2k |
---|---|
Status: | new → assigned |
comment:5 Changed 4 years ago by mf2k (Frank Schima)
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
arpack is currently at version 3.7.0. Please re-open the ticket with a complete main.log if this issue still exists.
Note: See
TracTickets for help on using
tickets.
The Priority field is only for use by Macports committers.