clMathLibraries / clBLAS

a software library containing BLAS functions written in OpenCL
Apache License 2.0
839 stars 240 forks source link

../library/libclBLAS.so.2.10.0: undefined reference to `initUserGemmClKernels' #211

Closed nathan-sixnines closed 8 years ago

nathan-sixnines commented 8 years ago

... [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/axpy_reg.cpp.o [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/dot.cpp.o [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/reduction.cpp.o [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/rotg_reg.cpp.o [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/rotmg_reg.cpp.o [ 53%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/rotm_reg.cpp.o [ 54%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/iamax.cpp.o [ 54%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/nrm2.cpp.o [ 54%] Building CXX object library/tools/ktest/CMakeFiles/make-ktest.dir///blas/gens/asum.cpp.o Linking CXX executable ../../../staging/make-ktest [ 54%] Built target make-ktest [ 54%] Building C object samples/CMakeFiles/example_chbmv.dir/example_chbmv.c.o /home/nathan/clBLAS/src/samples/example_chbmv.c: In function ‘main’: /home/nathan/clBLAS/src/samples/example_chbmv.c:107:5: warning: ‘clCreateCommandQueue’ is deprecated (declared at /opt/AMDAPPSDK-3.0/include/CL/cl.h:1359) [-Wdeprecated-declarations] queue = clCreateCommandQueue(ctx, device, 0, &err); ^ Linking C executable example_chbmv ../library/libclBLAS.so.2.10.0: undefined reference to `initUserGemmClKernels' collect2: error: ld returned 1 exit status make[2]: * [samples/example_chbmv] Error 1 make[1]: * [samples/CMakeFiles/example_chbmv.dir/all] Error 2 make: *\ [all] Error 2

I've had a couple issues building clBLAS so far today. I already had a problem where the build could not find the file ../clBLAS/src/library/blas/AutoGemm/UserGemmKernelSources/UserGemmClKernels.cc

I looked in the repo and saw that that file was generated by a python script, and I had the python script right there so I just ran it and that seemed to take care of the first error. However, this new issue seems to be related to the previous one somehow, but i'm not really sure how to proceed.

TimmyLiu commented 8 years ago

UserGemmClKernels.cc is in the repo here: https://github.com/clMathLibraries/clBLAS/blob/master/src/library/blas/AutoGemm/UserGemmKernelSources/UserGemmClKernels.cc

initUserGemmClKernels() is defined in that file. if you do a git status does it say that you are missing a file?

nathan-sixnines commented 8 years ago

Well that was fairly straightforward.

The file I had generated locally and the one in the repo were different, mine was missing that definition. I wonder how I lost that file to begin with.

TimmyLiu commented 8 years ago

Actually, I think you caught a bug. I just did some test if I do make clean, userGemmClKernels.cc is deleted. I think we need to modify somewhere in cmake so that this file is not treated as a generated file.

TimmyLiu commented 8 years ago

fixed by PR #213 in develop branch.