msa package는 Multiple sequence Alignment를 해주는 R package입니다. https://www.ebi.ac.uk/Tools/msa/clustalo/
ebi에서 웹상으로 공개 해놓은 기능과 같다라고 생각하시면 됩니다. (설치가 잘된다면 omega 표시도 확인이 가능합니다.)
그런데 최근에 이 R package를 설치를 하는데, 서버마다 설치가 되는 곳도 있고, 안되는 곳도 있는 것을 확인하였습니다.
제가 설치가 안되었을때 표시는 다음과 같았습니다.
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1180: libgc.la] Error 1
make[3]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[2]: *** [Makefile:1517: all-recursive] Error 1
make[2]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[1]: *** [msaMakefile:5: build_gc] Error 2
make[1]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make: *** [Makevars:12: build_gc] Error 2
ERROR: compilation failed for package ‘msa’
* removing ‘/home/user/R/x86_64-pc-linux-gnu-library/4.0/msa’
여기서 collect2라는 기능도 찾아 보고 ld라는 기능도 찾아 보았지만 결국 문제는 gcc 문제였습니다.
에러 내용에 gc-7.2라는 것을 보면 아마 gcc 버전 문제인가 싶어서 찾아보니 역시나 맞더군요.
설치가 안되는 서버는 gcc 10 버전이었고, 위 같은 에러는 gcc 9~10에서 발생되는 오류라고 합니다.
그래서 바로 gcc 버전은 변경후 설치를 진행하였습니다.
요즘은 서버에 update-alternatives를 이용하면 여러 버전의 기능들을 변경하면서 사용이 가능합니다. (default function을 변경 할때 사용합니다. python 또한 default 버전을 변경할때 저 기능을 이용합니다.)
gcc의 경우 여러 버전들을 설치를 해줍니다.
sudo apt-get install gcc-7
그리고 update-alternatives가 설정이 되어있으면 바로 --config를 이용하여 gcc default를 확인합니다. 만약에 그렇지 않다면 설정을 해줘야 합니다.
* udate-alternatives 설정 방법
# sudo update-alternatives --install "gcc-path" "gcc" "add gcc-path" "rank"
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 2
# 그후에
sudo update-alternatives --config gcc
대체 항목 gcc에 대해 (/usr/bin/gcc 제공) 2개 선택이 있습니다.
선택 경로 우선순ꡬ태
------------------------------------------------------------
* 0 /usr/bin/gcc-7 2 자동 모드
1 /usr/bin/gcc-10 1 수동 모드
2 /usr/bin/gcc-7 2 수동 모드
Press <enter> to keep the current choice[*], or type selection number:
위와 같이 진행을 한 다음에 숫자를 이용하여 원하는 버전 선택을 하고 난 다음 R package 설치를 진행하면 됩니다.
아마 gc-7.2 가 들어가는 문제는 대부분 gcc버전 문제가 아닐까 생각이 됩니다.
감사합니다.
'실용적인프로그래밍 > R' 카테고리의 다른 글
[MS,protein] 단백질양 imputation 방법소개 (0) | 2021.12.02 |
---|---|
[R] scRepertoire에서 오류 해결 방법 (0) | 2021.11.12 |
[R error] the given url does not appear to be a valid cran repository (0) | 2021.05.13 |
[R] pheatmap에 오류발생 (NA/NaN/Inf in foreign function call) (5) | 2021.04.19 |
[R] pheatmap으로 예쁜 heatmap 그리기 (6) | 2021.01.29 |
댓글