Compile CAMB on server

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Zhuangfei Wang
Posts: 5
Joined: October 09 2021
Affiliation: Simon Fraser University

Compile CAMB on server

Post by Zhuangfei Wang » July 04 2022

Hello:

I am having a problem compiling CAMB on a server of Compute Canada. I know CAMB could be easily done on the local computer, but my current work is related to Cobaya, so I will need to modify CAMB on the server. However, I keep getting an error with compilation, which I suspect is relevant to the configuration of flags in Makefile, but I am not quite experienced in this part. I have put the error output below:

-----
make -C Release --no-print-directory -f../Makefile FORUTILS_SRC_DIR=.. libforutils.a
make[1]: 'libcamb.a' is up to date.
ifort -fp-model precise -W0 -WB -fpp -qopenmp -gen-dep=.d -fast -module Release -IRelease/ -I"/project/6005493/zavier/cosmos/code/CAMB/fortran/../forutils/Release/" \
Release/inidriver.o Release/libcamb.a -cxxlib -qopt-report=0 -qopt-report-phase=vec -L"/project/6005493/zavier/cosmos/code/CAMB/fortran/../forutils/Release/" -lforutils -o camb
/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/imkl/2019.3.199/lib/intel64/libiomp5.a(ompt-general.o): In function `ompt_pre_init':
(.text+0x2600): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/cvmfs/restricted.computecanada.ca/easybuild/software/2017/Core/ifort/2019.3.199/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_diags_intel.o): In function `for__io_return':
for_diags_intel.c:(.text+0xdc2): undefined reference to `__memcpy_chk'
for_diags_intel.c:(.text+0xf3d): undefined reference to `__memcpy_chk'
for_diags_intel.c:(.text+0x12b0): undefined reference to `__memcpy_chk'
/cvmfs/restricted.computecanada.ca/easybuild/software/2017/Core/ifort/2019.3.199/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_diags_intel.o): In function `for__issue_diagnostic':
for_diags_intel.c:(.text+0x16f4): undefined reference to `__memcpy_chk'
for_diags_intel.c:(.text+0x1ad8): undefined reference to `__memcpy_chk'
/cvmfs/restricted.computecanada.ca/easybuild/software/2017/Core/ifort/2019.3.199/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_diags_intel.o):for_diags_intel.c:(.text+0x1c7c): more undefined references to `__memcpy_chk' follow
make[2]: *** [Makefile_main:107: camb_exe] Error 1
make[1]: *** [../Makefile_main:104: ../camb] Error 2
make: *** [Makefile_main:95: camb] Error 2
-----

which points out an undefined term called '__memcpy_chk'.

Any help or suggestion on this will be appreciated. Many thanks.

Zhuangfei

Post Reply