$ 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 패키지를 설치하는 방법 및 트러블 슈팅 방법에 대한 글을 모두 마칩니다.