I have a Debian Sid (64 bits) installation with the GCC compilers 4.8 and 4.9 and CUDA 6.0. I'm trying to compile the MAGMA 1.5.0 beta 2 version and I obtain an error during make test.
First of all, as GCC 4.9 is not permitted in CUDA 6.0, I set the related variables in the make.inc file as
Code: Select all
CC = gcc-4.8
NVCC = nvcc --compiler-bindir /usr/bin/gcc-4.8
FORT = gfortran-4.8
Code: Select all
gcc-4.8 -fPIC -Xlinker -zmuldefs testing_zhetrd_he2hb.o -o testing_zhetrd_he2hb \
libtest.a lin/liblapacktest.a -L../lib -lmagma \
-L/opt/openblas/lib -L/opt/cuda/lib64 -L/usr/lib64 \
-lopenblas -lpthread -lcublas -lcudart -llapack -lm
/usr/bin/ld: ../lib/libmagma.a(zhetrd_hb2st.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:255: recipe for target 'testing_zhetrd_he2hb' failed
make[1]: *** [testing_zhetrd_he2hb] Error 1
make[1]: Leaving directory '/home/topo/Desktop/magma-1.5.0-beta2/testing'
Makefile:54: recipe for target 'test' failed
make: *** [test] Error 2
Code: Select all
CC = gcc-4.8
Code: Select all
CC = g++-4.8
Code: Select all
g++-4.8 -O3 -DADD_ -DHAVE_CUBLAS -DMIN_CUDA_ARCH=300 -DCUBLAS_GFORTRAN -I/opt/cuda/include -I../include -I../control -c /opt/cuda/src/fortran.c -o fortran.o
gfortran-4.8 -O3 -DADD_ -x f95-cpp-input -Dmagma_devptr_t="integer(kind=8)" -I/opt/cuda/include -I../include -I../control -c testing_zgetrf_gpu_f.F90 -o testing_zgetrf_gpu_f.o
gfortran-4.8 -fPIC -Xlinker -zmuldefs testing_zgetrf_gpu_f.o fortran.o -o testing_zgetrf_gpu_f \
libtest.a lin/liblapacktest.a -L../lib -lmagma \
-L/opt/openblas/lib -L/opt/cuda/lib64 -L/usr/lib64 \
-lopenblas -lpthread -lcublas -lcudart -llapack -lm
/usr/bin/ld: ../lib/libmagma.a(ztrevc3_mt.o): undefined reference to symbol '__cxa_pure_virtual@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:249: recipe for target 'testing_zgetrf_gpu_f' failed
make[1]: *** [testing_zgetrf_gpu_f] Error 1
make[1]: Leaving directory '/home/topo/Desktop/magma-1.5.0-beta2/testing'
Makefile:54: recipe for target 'test' failed
make: *** [test] Error 2
Anyway, as libmagma.a was created, I've installed the library. But when I try to compile a program, I obtain
Code: Select all
In file included from /opt/magma/include/magmablas_z.h:14:0,
from /opt/magma/include/magmablas.h:12,
from /opt/magma/include/magma.h:15,
from /home/topo/Desktop/libgeoc/libgeoc/geocblas.h:72,
from geocblas.c:59:
/opt/magma/include/magma_types.h:160:6: error: #error "One of HAVE_CUBLAS, HAVE_clAmdBlas, or HAVE_MIC must be defined. This typically happens in Makefile.internal."
#error "One of HAVE_CUBLAS, HAVE_clAmdBlas, or HAVE_MIC must be defined. This typically happens in Makefile.internal."
^
Code: Select all
NVOPTS += -DHAVE_CUBLAS $(NV_SM) $(NV_COMP)
OPTS += -DHAVE_CUBLAS -DMIN_CUDA_ARCH=$(MIN_ARCH)
Thanks