sanshar / Block

Block implements the density matrix renormalization group (DMRG) algorithm for quantum chemistry.
GNU General Public License v3.0
30 stars 33 forks source link

Compilation Error #21

Closed NasrHassanein closed 9 years ago

NasrHassanein commented 9 years ago

Trying to compile BlockCode with the following compilers and libraries: gcc-4.8.1 openmpi-1.8.6 boost-1.58.0 with mpi support atlas-3.8.4 blas-1.1

Then i got the following errors: /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dtrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_sscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_strmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_dgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_sGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_sscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_zherk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_zscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_cGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_cherk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_isamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_sswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_dscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_xerbla' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_zgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_ctrmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_dGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_icamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ctrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_sgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dsyrk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_idamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_zswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_ssyrk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ztrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_ccplxinvert' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_zcplxinvert' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_zGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ztrmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_xerbla' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_strsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_izamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_dtrmm' collect2: error: ld returned 1 exit status make: *\ [block.spin_adapted] Error 1

junyang4711 commented 9 years ago

Hi,

It seems that the compiling does not link to the blas library correctly. Please check your LD_library_PATH environment variable that shall contain your default blas lib path. Please send us your makefile in order to diagnose the problem explicitly.

On Aug 25, 2015, at 3:43 AM, Nasr S. Hassanein notifications@github.com wrote:

Trying to compile BlockCode with the following compilers and libraries: gcc-4.8.1 openmpi-1.8.6 boost-1.58.0 with mpi support atlas-3.8.4 blas-1.1

Then i got the following errors: /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dtrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_sscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_strmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_dgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_sGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_sscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_zherk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_zscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_cGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_cherk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_isamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_sswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_dscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_xerbla' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_zgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_ctrmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_dGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_icamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ctrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_sgemm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dsyrk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_idamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_zswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_dswap' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_ssyrk' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ztrsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_ccplxinvert' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to ATL_zcplxinvert' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference toATL_zGetNB' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_ztrmm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_cscal' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_xerbla' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_strsm' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference to cblas_izamax' /opt/share/atlas/3.8.4-sse3/el6/x86_64/lib64/../lib64/liblapack.so: undefined reference tocblas_dtrmm' collect2: error: ld returned 1 exit status make: *\ [block.spin_adapted] Error 1

— Reply to this email directly or view it on GitHub.

gkc1000 commented 9 years ago

This appears to be a problem with an incorrect linking line for ATLAS that does not include the C interface. When linking ATLAS, add -lcblas to your linker line.

In your list of libraries, you mention both ATLAS and BLAS libraries - but ATLAS is a BLAS library!

Also, boost 1.58.0 has a serious bug in the vector serialization. Please compile with an earlier version e.g. boost 1.55.0.