[gmx-developers] Gromacs 4.6.1 ATLAS/CUDA detection problems...

Evren Yurtesen IB eyurtese at abo.fi
Wed Mar 6 11:04:02 CET 2013


Hello,

I am not exactly sure if this is a bug but I realized that cmake system of 
gromacs couldnt find my ATLAS libraries. First problem was that it needed 
-lgfortran (and then -lcblas also) for compiling with gcc. The error I 
found in cmake error file can be found below.

In addition while documentation suggests latest GCC versions, the only 
compatible version of GCC with CUDA 5.0 is GCC 4.6 but there doesnt seem 
to be any checks for this.

Run Build Command:/usr/bin/gmake "cmTryCompileExec3752895534/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3752895534.dir/build.make 
CMakeFiles/cmTryCompileExec3752895534.dir/build
gmake[1]: Entering directory 
`/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report 
/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp/CMakeFiles 
1
Building C object 
CMakeFiles/cmTryCompileExec3752895534.dir/CheckFunctionExists.c.o
/export/modules/compilers/gnu/gcc/4.7.2/bin/gcc   -Wextra 
-Wno-missing-field-initializers -Wno-sign-compare -Wall -Wno-unused 
-Wunused-value  -march=native -mtune=native 
-DCHECK_FUNCTION_EXISTS=dgemm_   -o 
CMakeFiles/cmTryCompileExec3752895534.dir/CheckFunctionExists.c.o   -c 
/usr/share/cmake/Modules/CheckFunctionExists.c
Linking C executable cmTryCompileExec3752895534
/usr/bin/cmake -E cmake_link_script 
CMakeFiles/cmTryCompileExec3752895534.dir/link.txt --verbose=1
/export/modules/compilers/gnu/gcc/4.7.2/bin/gcc   -Wextra 
-Wno-missing-field-initializers -Wno-sign-compare -Wall -Wno-unused 
-Wunused-value  -march=native -mtune=native 
-DCHECK_FUNCTION_EXISTS=dgemm_ 
CMakeFiles/cmTryCompileExec3752895534.dir/CheckFunctionExists.c.o  -o 
cmTryCompileExec3752895534 -rdynamic -Wl,-Bstatic -lf77blas -latlas 
-Wl,-Bdynamic
/export/modules/devel/ATLAS/3.10.1/gnu/lib/libf77blas.a(xerbla.o): In 
function `xerbla_':
xerbla.f:(.text+0x4a): undefined reference to `_gfortran_st_write'
xerbla.f:(.text+0x5a): undefined reference to 
`_gfortran_transfer_character_write'
xerbla.f:(.text+0x6a): undefined reference to 
`_gfortran_transfer_integer_write'
xerbla.f:(.text+0x72): undefined reference to `_gfortran_st_write_done'
xerbla.f:(.text+0x7b): undefined reference to `_gfortran_stop_string'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTryCompileExec3752895534] Error 1
gmake[1]: Leaving directory 
`/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec3752895534/fast] Error 2


After this the -lcblas was missing. Which caused the following errors.

Run Build Command:/usr/bin/gmake "cmTryCompileExec2027137673/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2027137673.dir/build.make 
CMakeFiles/cmTryCompileExec2027137673.dir/build
gmake[1]: Entering directory 
`/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report 
/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp/CMakeFiles 
1
Building C object 
CMakeFiles/cmTryCompileExec2027137673.dir/CheckFunctionExists.c.o
/export/modules/compilers/gnu/gcc/4.7.2/bin/gcc   -Wextra 
-Wno-missing-field-initializers -Wno-sign-compare -Wall -Wno-unused 
-Wunused-value  -march=native -mtune=native 
-DCHECK_FUNCTION_EXISTS=cheev_   -o 
CMakeFiles/cmTryCompileExec2027137673.dir/CheckFunctionExists.c.o   -c 
/usr/share/cmake/Modules/CheckFunctionExists.c
Linking C executable cmTryCompileExec2027137673
/usr/bin/cmake -E cmake_link_script 
CMakeFiles/cmTryCompileExec2027137673.dir/link.txt --verbose=1
/export/modules/compilers/gnu/gcc/4.7.2/bin/gcc   -Wextra 
-Wno-missing-field-initializers -Wno-sign-compare -Wall -Wno-unused 
-Wunused-value  -march=native -mtune=native 
-DCHECK_FUNCTION_EXISTS=cheev_ 
CMakeFiles/cmTryCompileExec2027137673.dir/CheckFunctionExists.c.o  -o 
cmTryCompileExec2027137673 -rdynamic -Wl,-Bstatic -llapack -lf77blas 
-latlas -Wl,-Bdynamic -lgfortran
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarfb.o): In 
function `ATL_clarfb':
ATL_larfb.c:(.text+0x160): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0x1fe): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x263): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x2b9): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x400): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0x4a4): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x509): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x55f): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x670): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0x6f4): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x759): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x7b2): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x8b8): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0x93f): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x9a4): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x9fd): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xb04): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0xb97): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xbfd): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xc4e): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xd54): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0xded): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xe53): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xea4): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0xf70): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0xff8): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x105e): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x10b7): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1180): undefined reference to `cblas_ccopy'
ATL_larfb.c:(.text+0x1208): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x126e): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x12c7): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x13a7): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x140c): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1464): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x14d0): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1521): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x15b8): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x161d): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1675): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x16e1): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1732): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x17d2): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1837): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x188e): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x18fb): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1951): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x19eb): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1a50): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1aa7): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1b14): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1b6a): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1bdf): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1c78): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1ccf): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1d3c): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1d95): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1e09): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1e8e): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1ee6): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x1f4e): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x1fa7): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x201c): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x20b0): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x2108): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x2170): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x21c9): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x2240): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x22dc): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x2333): undefined reference to `cblas_ctrmm'
ATL_larfb.c:(.text+0x23a0): undefined reference to `cblas_cgemm'
ATL_larfb.c:(.text+0x23f9): undefined reference to `cblas_ctrmm'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarft_blockFC':
ATL_larft.c:(.text+0x152): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x1c3): undefined reference to `cblas_cgemm'
ATL_larft.c:(.text+0x211): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x254): undefined reference to `cblas_ctrmm'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarft_blockFR':
ATL_larft.c:(.text+0x3bd): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x433): undefined reference to `cblas_cgemm'
ATL_larft.c:(.text+0x481): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x4c4): undefined reference to `cblas_ctrmm'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarft_blockBC':
ATL_larft.c:(.text+0x643): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x69d): undefined reference to `cblas_cgemm'
ATL_larft.c:(.text+0x6e8): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x72e): undefined reference to `cblas_ctrmm'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarft_blockBR':
ATL_larft.c:(.text+0x8c8): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x920): undefined reference to `cblas_cgemm'
ATL_larft.c:(.text+0x96b): undefined reference to `cblas_ctrmm'
ATL_larft.c:(.text+0x9b1): undefined reference to `cblas_ctrmm'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarftFC':
ATL_larft.c:(.text+0xcfb): undefined reference to `cblas_cdotc_sub'
ATL_larft.c:(.text+0xdb3): undefined reference to `cblas_cdotu_sub'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarftBC':
ATL_larft.c:(.text+0xffd): undefined reference to `cblas_cdotc_sub'
ATL_larft.c:(.text+0x10a9): undefined reference to `cblas_cdotu_sub'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarftFR':
ATL_larft.c:(.text+0x1368): undefined reference to `cblas_cdotc_sub'
ATL_larft.c:(.text+0x1422): undefined reference to `cblas_cdotu_sub'
/export/modules/devel/ATLAS/3.10.1/gnu/lib/liblapack.a(ATL_clarft.o): In 
function `ATL_clarftBR':
ATL_larft.c:(.text+0x165d): undefined reference to `cblas_cdotc_sub'
ATL_larft.c:(.text+0x1713): undefined reference to `cblas_cdotu_sub'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTryCompileExec2027137673] Error 1
gmake[1]: Leaving directory 
`/home/eyurtese/tmp/gromacs-4.6.1/build-cmake/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec2027137673/fast] Error 2



Thanks,
Evren



More information about the gromacs.org_gmx-developers mailing list