xmrig / xmrig-cuda

NVIDIA CUDA plugin for XMRig miner
GNU General Public License v3.0
358 stars 155 forks source link

No executable in build directory #110

Closed bensuperpc closed 3 years ago

bensuperpc commented 3 years ago

I followed the instructions to build from the sources, to build xmrig-cuda : https://xmrig.com/docs/miner/build/ubuntu

With these commands :

git clone --recursive https://github.com/xmrig/xmrig-cuda.git /tmp/xmrig-cuda \
   && cd /tmp/xmrig-cuda \
   && mkdir -p build \
   && cd build \
   && cmake .. -DCUDA_LIB=/usr/local/cuda/lib64/stubs/libcuda.so -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -GNinja \
   && ninja

Build log:

Cloning into '/tmp/xmrig-cuda'...
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda (found suitable version "11.3", minimum required is "8.0") 
-- Looking for __builtin___clear_cache
-- Looking for __builtin___clear_cache - found
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/xmrig-cuda/build
[1/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/xmrig-cu_generated_randomx.cu.o
[2/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/KawPow/raven/xmrig-cu_generated_KawPow.cu.o
[3/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/AstroBWT/dero/xmrig-cu_generated_AstroBWT.cu.o
[4/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/wownero/xmrig-cu_generated_randomx_wownero.cu.o
/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

[5/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/xmrig-cu_generated_cuda_core.cu.o
[6/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/monero/xmrig-cu_generated_randomx_monero.cu.o
[7/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/arqma/xmrig-cu_generated_randomx_arqma.cu.o
[8/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/keva/xmrig-cu_generated_randomx_keva.cu.o
[9/16] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/xmrig-cu_generated_cuda_extra.cu.o
/tmp/xmrig-cuda/src/cuda_extra.cu: In function 'void cryptonight_extra_cpu_prepare(nvid_ctx*, uint32_t, const xmrig_cuda::Algorithm&)':
/tmp/xmrig-cuda/src/cuda_extra.cu:415:170: warning: passing argument 5 to restrict-qualified parameter aliases with argument 6 [-Wrestrict]
  415 |         CUDA_CHECK_KERNEL(ctx->device_id, cryptonight_extra_gpu_prepare<Algorithm::CN_0><<<grid, block >>>(wsize, ctx->d_input, ctx->inputlen, startNonce,
      |                                                                                                                                                                          ^                            
/tmp/xmrig-cuda/src/cuda_extra.cu: In function 'int cuda_get_deviceinfo(nvid_ctx*)':
/tmp/xmrig-cuda/src/cuda_extra.cu:571:26: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const long unsigned int'} [-Wsign-compare]
  571 |         if (ctx->device_blocks > max_blocks) {
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[10/16] Building CXX object CMakeFiles/xmrig-cuda.dir/src/crypto/common/Algorithm.cpp.o
[11/16] Building C object CMakeFiles/xmrig-cuda.dir/src/crypto/cn/c_blake256.c.o
[12/16] Building CXX object CMakeFiles/xmrig-cuda.dir/src/xmrig-cuda.cpp.o
[13/16] Building CXX object CMakeFiles/xmrig-cuda.dir/src/CudaCryptonightR_gen.cpp.o
[14/16] Building CXX object CMakeFiles/xmrig-cu.dir/src/KawPow/raven/CudaKawPow_gen.cpp.o
[15/16] Linking CXX static library libxmrig-cu.a
[16/16] Linking CXX shared library libxmrig-cuda.so

And whitout ninja :

git clone --recursive https://github.com/xmrig/xmrig-cuda.git /tmp/xmrig-cuda \
   && cd /tmp/xmrig-cuda \
   && mkdir -p build \
   && cd build \
   && cmake .. -DCUDA_LIB=/usr/local/cuda/lib64/stubs/libcuda.so -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
   && make -j$(nproc)

Build log:

Cloning into '/tmp/xmrig-cuda'...
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found CUDA: /usr/local/cuda (found suitable version "11.3", minimum required is "8.0") 
-- Looking for __builtin___clear_cache
-- Looking for __builtin___clear_cache - found
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/xmrig-cuda/build
[  6%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/xmrig-cu_generated_cuda_extra.cu.o
[ 12%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/xmrig-cu_generated_randomx.cu.o
[ 18%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/wownero/xmrig-cu_generated_randomx_wownero.cu.o
[ 31%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/xmrig-cu_generated_cuda_core.cu.o
[ 31%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/arqma/xmrig-cu_generated_randomx_arqma.cu.o
[ 37%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/keva/xmrig-cu_generated_randomx_keva.cu.o
[ 43%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/RandomX/monero/xmrig-cu_generated_randomx_monero.cu.o
[ 50%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/KawPow/raven/xmrig-cu_generated_KawPow.cu.o
[ 56%] Building NVCC (Device) object CMakeFiles/xmrig-cu.dir/src/AstroBWT/dero/xmrig-cu_generated_AstroBWT.cu.o
/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/RandomX/randomx_cuda.hpp(319): warning: pointless comparison of unsigned integer with zero

/tmp/xmrig-cuda/src/cuda_extra.cu: In function 'void cryptonight_extra_cpu_prepare(nvid_ctx*, uint32_t, const xmrig_cuda::Algorithm&)':
/tmp/xmrig-cuda/src/cuda_extra.cu:415:170: warning: passing argument 5 to restrict-qualified parameter aliases with argument 6 [-Wrestrict]
  415 |         CUDA_CHECK_KERNEL(ctx->device_id, cryptonight_extra_gpu_prepare<Algorithm::CN_0><<<grid, block >>>(wsize, ctx->d_input, ctx->inputlen, startNonce,
      |                                                                                                                                                                          ^                            
/tmp/xmrig-cuda/src/cuda_extra.cu: In function 'int cuda_get_deviceinfo(nvid_ctx*)':
/tmp/xmrig-cuda/src/cuda_extra.cu:571:26: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const long unsigned int'} [-Wsign-compare]
  571 |         if (ctx->device_blocks > max_blocks) {
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
Scanning dependencies of target xmrig-cu
[ 62%] Building CXX object CMakeFiles/xmrig-cu.dir/src/KawPow/raven/CudaKawPow_gen.cpp.o
[ 68%] Linking CXX static library libxmrig-cu.a
[ 68%] Built target xmrig-cu
Scanning dependencies of target xmrig-cuda
[ 81%] Building CXX object CMakeFiles/xmrig-cuda.dir/src/crypto/common/Algorithm.cpp.o
[ 81%] Building C object CMakeFiles/xmrig-cuda.dir/src/crypto/cn/c_blake256.c.o
[ 87%] Building CXX object CMakeFiles/xmrig-cuda.dir/src/xmrig-cuda.cpp.o
[ 93%] Building CXX object CMakeFiles/xmrig-cuda.dir/src/CudaCryptonightR_gen.cpp.o
[100%] Linking CXX shared library libxmrig-cuda.so
[100%] Built target xmrig-cuda

After build, there are the libraries but no executable : ls -la /tmp/xmrig-cuda/build

drwxr-xr-x 1 root root      160 Jun 17 12:06 .
drwxr-xr-x 1 root root      150 Jun 17 11:59 ..
-rw-r--r-- 1 root root    26152 Jun 17 11:59 CMakeCache.txt
drwxr-xr-x 1 root root      388 Jun 17 12:06 CMakeFiles
-rw-r--r-- 1 root root     9778 Jun 17 11:59 Makefile
-rw-r--r-- 1 root root     1489 Jun 17 11:59 cmake_install.cmake
-rw-r--r-- 1 root root 30854780 Jun 17 12:06 libxmrig-cu.a
-rwxr-xr-x 1 root root 31073352 Jun 17 12:06 libxmrig-cuda.so

Did I forget something ?

Spudz76 commented 3 years ago

This is simply a plugin (dll/so) for the main app, xmrig/xmrig, which makes the actual main executable (copy the libxmrig-cuda.so over to where you run from)