본문 바로가기

Study/Ubuntu 공부

[ubuntu] ccminer 설치시 발생하는 오류 해결 방법

반응형
$ sudo apt-get install gcc

ubuntu linux에서 비트코인 채굴을 위한 프로그램인 ccminer을 설치하는 도중에 여러가지 오류가 발생할 수 있습니다. 윈도우즈와는 달리 직접 소스코드를 다운로드 받아서 빌드를 해야하는데요. 이 과정에서 여러 패키지들이 필요합니다. 빌드 스크립트의 오류 메시지가 친절한 편이 아니라서 발생하는 문제인데요. 본 페이지에서는 ccminer을 ubuntu linux에 설치하는 방법과 설치시에 발생하는 오류들을 해결하는 방법에 대해서 다루고자 합니다.

 

ccminer 소스코드 다운로드 방법

우선 아래의 명령으로 ccminer 소스코드를 git에서 받아옵니다. git을 통해서 받와야하므로 git 패키지를 먼저 설치해야겠지요?

$ sudo apt-get install git
$ git clone https://github.com/tpruvot/ccminer.git

 

ccminer 빌드 방법

$ cd ccminer
$ ./build.sh

git clone이 완료되면 ccminer라는 디렉토리가 생성되고, 그 디렉토리에 들어가면 build.sh 파일이 존재합니다.

build.sh 스크립트를 실행시켜서 빌드를 진행하면 됩니다.

 

make 패키지 설치 (make 명령을 실행할 수 없을 경우)

혹시 아래와 같이 make를 실행할 수 없다는 에러 메시지가 발생할 경우 make 패키지를 설치해줍니다.

$ ./build.sh 
./build.sh: line 7: make: command not found
clean
./autogen.sh: line 1: aclocal: command not found
done
./configure.sh: line 5: ./configure: No such file or directory
./build.sh: line 16: make: command not found

 

make 패키지를 설치하는 방법은 아래와 같습니다.

$ sudo apt-get install make

 

autoconfig 패키지 설치 (aclocal을 찾을 수 없을 경우)

만약 아래와 같이 aclocal을 실행할 수 없다는 에러 메시지가 발생할 경우 automake 패키지를 설치해주면 됩니다.

$ ./build.sh 
make: *** No rule to make target 'distclean'.  Stop.
clean
./autogen.sh: line 1: aclocal: command not found
done
./configure.sh: line 5: ./configure: No such file or directory
make: *** No targets specified and no makefile found.  Stop.

 

automake 패키지를 설치하는 명령은 아래와 같습니다.

$ sudo apt-get install automake

 

gcc 패키지 설치 (C compiler를 찾을 수 없을 경우)

아래와 같이 C compiler를 찾을 수 없다는 명령이 나올 경우 gcc를 설치해줍니다.

parksejin@parksejin-R580-R590:~/mining/ccminer$ ./build.sh 
make: *** No rule to make target 'distclean'.  Stop.
clean
configure.ac:4: installing './config.sub'
configure.ac:6: installing './missing'
Makefile.am: installing './depcomp'
configure.ac:80: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
done
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports the include directive... yes (GNU style)
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/parksejin/mining/ccminer':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

 

이 경우 gcc 패키지를 설치해주면 됩니다.

$ sudo apt-get install gcc

 

 

g++을 찾을 수 없는 에러 발생할 경우 g++ 패키지 설치

$ ./build.sh 
make: *** No rule to make target 'distclean'.  Stop.
clean
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c

(중략)

./depcomp: line 772: exec: g++: not found
make[2]: *** [Makefile:1928: ccminer-pools.o] Error 127
make[2]: *** Waiting for unfinished jobs....
./depcomp: line 772: exec: g++: not found
make[2]: *** [Makefile:1914: ccminer-ccminer.o] Error 127
mv -f .deps/ccminer-crc32.Tpo .deps/ccminer-crc32.Po
mv -f .deps/ccminer-hefty1.Tpo .deps/ccminer-hefty1.Po
make[2]: Leaving directory '/home/parksejin/mining/ccminer'
make[1]: *** [Makefile:2338: all-recursive] Error 1
make[1]: Leaving directory '/home/parksejin/mining/ccminer'
make: *** [Makefile:733: all] Error 2

 

아래의 명령으로 g++ 패키지를 설치해줍니다.

$ sudo apt-get install g++

 

OpenSSL 라이브러리 에러 발생시에 libssl-dev 패키지 설치

$ ./build.sh 
make: *** No rule to make target 'distclean'.  Stop.
clean
checking build system type... x86_64-unknown-linux-gnu

(중략)

checking for getopt_long... yes
checking for json_loads in -ljansson... no
checking for pthread_create in -lpthread... yes
checking for gzopen in -lz... no
checking for SSL_free in -lssl... no
configure: error: OpenSSL library required
make: *** No targets specified and no makefile found.  Stop.

위와 같이 OpenSSL library required 라는 에러가 발생할 경우 libssl-dev라는 패키지를 아래와 같이 설치해주면 됩니다.

$ sudo apt-get install libcurl4-openssl-dev

 

 

cuda_runtime.h 파일을 찾을 수 없을 경우 CUDA toolkit을 설치

ccminer.cpp:49:10: fatal error: cuda_runtime.h: No such file or directory
   49 | #include <cuda_runtime.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

 

이상으로 ubuntu linux에 ccminer 패키지를 설치하는 방법 및 트러블 슈팅 방법에 대한 글을 모두 마칩니다.

 

반응형