본문 바로가기
실용적인프로그래밍/R

[R] msa package 설치 에러 해결! (gcc)

by 인포메틱스 2021. 8. 23.
반응형

 msa package는 Multiple sequence Alignment를 해주는 R package입니다. https://www.ebi.ac.uk/Tools/msa/clustalo/

 

Clustal Omega < Multiple Sequence Alignment < EMBL-EBI

Clustal Omega is a new multiple sequence alignment program that uses seeded guide trees and HMM profile-profile techniques to generate alignments between three or more sequences. For the alignment of two sequences please instead use our pairwise sequence a

www.ebi.ac.uk

 

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버전 문제가 아닐까 생각이 됩니다.

 

감사합니다.

 

 

728x90
반응형

댓글