[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