When trying to commpile CosmoMC, everything seems to work until I get douzens of undefined refrences in the Matrix_utils file. It seems to concern library functions and routines in the Lapack/blas library. I thought I'd managed to set up the library addresses correctly, but obviously I haven't. I've also edited the library adresses in the makefile in the camb catalouge. Are there any other files I should edit? Could anyone help me to understand more specifically which library I haven't been able to link correctly? Has anyone encountered the same problem (and solved it)?
Below is the output from running 'make all'
Code: Select all
cd ../camb && make --file=Makefile_main libcamb.a
make[1]: Entering directory `/mn/castor/u1/masan/cosmomc/camb'
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c constants.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c utils.F90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c subroutines.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c inifile.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c power_tilt.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c recfast.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c reionization.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c modules.f90
modules.f90(346): (col. 18) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
modules.f90(1564): (col. 19) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
modules.f90(1210): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
modules.f90(2412): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c bessels.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c equations.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c halofit.f90
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c lensing.f90
lensing.f90(199): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
lensing.f90(530): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
lensing.f90(724): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c cmbmain.f90
cmbmain.f90(2256): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(898): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(197): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(215): (col. 14) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(245): (col. 15) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(256): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(315): (col. 13) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(1986): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(2215): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(2160): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
cmbmain.f90(1010): (col. 7) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
mpif90 -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -c camb.f90
ar -r libcamb.a constants.o utils.o subroutines.o inifile.o power_tilt.o recfast.o reionization.o modules.o bessels.o equations.o halofit.o lensing.o cmbmain.o camb.o
make[1]: Leaving directory `/mn/castor/u1/masan/cosmomc/camb'
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c utils.F90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c ParamNames.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c Matrix_utils.F90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c settings.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c IO.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c cmbtypes.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c Planck_like.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c cmbdata.F90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c WeakLen.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c bao.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c lrggettheory.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c mpk.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c supernovae.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c HST.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c SDSSLy-a-v3.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c CMB_Cls_simple.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c paramdef.F90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c propose.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c params_CMB.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c calclike.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c conjgrad_wrapper.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c EstCovmat.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c postprocess.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c MCMC.f90
mpif90 -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP -c driver.F90
mpif90 -o ../cosmomc utils.o ParamNames.o Matrix_utils.o settings.o IO.o cmbtypes.o Planck_like.o cmbdata.o WeakLen.o bao.o lrggettheory.o mpk.o supernovae.o HST.o SDSSLy-a-v3.o CMB_Cls_simple.o paramdef.o propose.o params_CMB.o calclike.o conjgrad_wrapper.o EstCovmat.o postprocess.o MCMC.o driver.o -L../camb -lcamb -L/mn/vega/u1/hke/local/lib -lmkl_lapack -lmkl_em64t -lblas -lguide -lpthread -DMATRIX_SINGLE -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -I../camb -DNOWMAP
Matrix_utils.o: In function `matrixutils_mp_matrix_inverse_':
Matrix_utils.F90:(.text+0x182): undefined reference to `spotrf_'
Matrix_utils.F90:(.text+0x4fd): undefined reference to `spotri_'
Matrix_utils.o: In function `matrixutils_mp_matrix_inversearraympi_':
Matrix_utils.F90:(.text+0x149b): undefined reference to `spotrf_'
Matrix_utils.F90:(.text+0x1771): undefined reference to `spotri_'
Matrix_utils.o: In function `matrixutils_mp_matrix_solveasymm_':
Matrix_utils.F90:(.text+0x591f): undefined reference to `sgetrf_'
Matrix_utils.F90:(.text+0x5b63): undefined reference to `sgetrs_'
Matrix_utils.o: In function `matrixutils_mp_matrix_solvesymm_':
Matrix_utils.F90:(.text+0x6364): undefined reference to `ssytrf_'
Matrix_utils.F90:(.text+0x65fa): undefined reference to `ssytrs_'
Matrix_utils.o: In function `matrixutils_mp_matrix_csvd_allvt_':
Matrix_utils.F90:(.text+0x7101): undefined reference to `cgesdd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_csvd_u_':
Matrix_utils.F90:(.text+0x76d7): undefined reference to `cgesdd_'
Matrix_utils.F90:(.text+0x7abd): undefined reference to `cgesvd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_csvd_vt_':
Matrix_utils.F90:(.text+0x7fb7): undefined reference to `cgesdd_'
Matrix_utils.F90:(.text+0x8393): undefined reference to `cgesvd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_svd_vt_':
Matrix_utils.F90:(.text+0x86bc): undefined reference to `sgesdd_'
Matrix_utils.F90:(.text+0x8855): undefined reference to `sgesdd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_svd_':
Matrix_utils.F90:(.text+0x8abe): undefined reference to `sgesvd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_inverseasymm_':
Matrix_utils.F90:(.text+0x9049): undefined reference to `sgesvd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_gaussianloglikedouble_':
Matrix_utils.F90:(.text+0xa845): undefined reference to `dpotrf_'
Matrix_utils.F90:(.text+0xafbf): undefined reference to `dpotrs_'
Matrix_utils.o: In function `matrixutils_mp_matrix_cholesky_':
Matrix_utils.F90:(.text+0xb955): undefined reference to `spotrf_'
Matrix_utils.o: In function `matrixutils_mp_matrix_gaussianloglike_':
Matrix_utils.F90:(.text+0xbff2): undefined reference to `spotrf_'
Matrix_utils.F90:(.text+0xc720): undefined reference to `spotrs_'
Matrix_utils.o: In function `matrixutils_mp_matrix_inverse_chol_':
Matrix_utils.F90:(.text+0xd055): undefined reference to `spotrf_'
Matrix_utils.F90:(.text+0xd335): undefined reference to `spotri_'
Matrix_utils.F90:(.text+0xdc9c): undefined reference to `spotrf_'
Matrix_utils.o: In function `matrixutils_mp_matrix_ccholesky_':
Matrix_utils.F90:(.text+0xe2c5): undefined reference to `cpotrf_'
Matrix_utils.o: In function `matrixutils_mp_matrix_ccholeskyrootinverse_':
Matrix_utils.F90:(.text+0xe702): undefined reference to `cpotrf_'
Matrix_utils.F90:(.text+0xe93e): undefined reference to `ctrtri_'
Matrix_utils.o: In function `matrixutils_mp_matrix_choleskyrootinverse_':
Matrix_utils.F90:(.text+0xf25a): undefined reference to `spotrf_'
Matrix_utils.F90:(.text+0xf5d4): undefined reference to `strtri_'
Matrix_utils.o: In function `matrixutils_mp_matrixsym_logdet_':
Matrix_utils.F90:(.text+0x1d069): undefined reference to `spotrf_'
Matrix_utils.o: In function `matrixutils_mp_matrix_cdiagonalize_':
Matrix_utils.F90:(.text+0x1dbbd): undefined reference to `cheevd_'
Matrix_utils.o: In function `matrixutils_mp_matrix_cdiagonalize_partial_':
Matrix_utils.F90:(.text+0x1e163): undefined reference to `cheevr_'
Matrix_utils.F90:(.text+0x1e4f3): undefined reference to `cheevr_'
Matrix_utils.o: In function `matrixutils_mp_matrix_diagonalize_partial_':
Matrix_utils.F90:(.text+0x1ed37): undefined reference to `ssyevr_'
Matrix_utils.F90:(.text+0x1eff5): undefined reference to `ssyevr_'
Matrix_utils.o: In function `matrixutils_mp_matrix_diagonalize_':
Matrix_utils.F90:(.text+0x1f610): undefined reference to `ssyev_'
Matrix_utils.o: In function `matrixutils_mp_matrix_root_':
Matrix_utils.F90:(.text+0x1f843): undefined reference to `ssyev_'
Matrix_utils.o: In function `matrixutils_mp_matrix_diagonalize_dc_':
Matrix_utils.F90:(.text+0x20300): undefined reference to `ssyevd_'
Marit