꼬반 Blog

[R] SAIGE 라이브러리 설치하기.

들어가기전에

설치하면서 고생을 좀 해서 정리도 할겸, 혹 이와 같은 경험을 하게 될 수 있는

다른 사람들이 있을까봐 기록하여 둡니다.

설치환경

1. OS : CentOS 7.9(실제 서버) && Debian 10.8(크롬OS 내 컨테이너 Linux)

2. GCC version : 4.8.5(CentOS) / 8.3.0(Debian)

3. Python version : 2.7.5(CentOS) / 2.7.16(Debian)

4. R version : 4.0.2

설치순서

1. R 4.0.2 Source 다운로드

cran.r-project.org/src/base/R-4/

위 사이트에서 각 버전별 R Source 버전을 다운 받을 수 있다.

2. R 컴파일 설치하기

원하는 위치에 다운 받은 R의 압축을 해제하고 해당 폴더로 이동한다.

여기서 R-4.0.2 폴더에서 아래과 같이 옵션을 주고 컴파일 한다.

R-4.0.2]# ./configure --with-x=no --with-blas=-lopenblas --prefix=[destination folder] \
--with-pcre1 --with-lapack --enable-R-shlib --with-tcltk

중간에 에러가 날 수 있으나 R에서 필요하는 library들을 yum, apt 명령어들로 설치하여 주면 크게 문제될 부분은 없다.

3. SAIGE 다운로드

github.com/weizhouUMICH/SAIGE

위 사이트를 참고하면 최신 SAIGE는 git을 통해 내 환경에 clone 할 수 있다.

해당 커맨드를 차례대로 입력하면 현재 폴더 위치에 SAIGE 가 clone 된다. 해당 폴더로 이동하여 보면

위 처럼 extdata 폴더가 있는데 이곳으로 이동하여 준다.

위 파일이 존재하는데 아래 커맨드를 통해 위 스크립트를 실행해준다. 해당 스크립트는 SAIGE의 dependencies를

설치하여 준다.

# /[R installed folder]/bin/Rscript ./install_packages.R

모든 설치가 완료된 후 SAIGE를 설치하면 되는데 2가지 방법이 있다.

한가지는 clone 한 SAIGE를 컴파일하게 되면 R에서 컴파일 한 SAIGE를 외부에서 호출하여 사용하는 방법과

R 내부에서 SAIGE를 설치하는 방법인데 추후 사용 등이 용이한것은 2번째 방법이므로 2번째 방법으로 진행한다.

위 처럼 R에서 SAIGE를 lib.loc 을 통해 직접 불러올 수 있으나 그런 경우 외부 스크립트도 모두 동일하게

해당 방법으로 call을 해야되므로 아래처럼 R에서 직접 설치하게 되면 설치가 완료 된다.

설치 후 R에서 installed.packages() 명령어로 확인하여 보면 아래처럼 설치가 된 걸 확인할 수 있다.

이 후 정상적으로 설치가 되었는지 확인을 위해 아까 clone 한 SAIGE 폴더내에 extdata 폴더로 다시 이동한 후

# /[R installed folder]/bin/Rscript ./step1_fitNULLGLMM.R --help

실행했을때 아래처럼 R의 환경과 도움말이 보이면 정상적으로 동작함을 알 수 있다.

추신 1. saige.so: undefined symbol: sgecon_ 의 에러의 경우 본인은 R 컴파일 설치때 위의 옵션이 아니고 prefix만 주고 설치했을때 해당 에러가 발생했었다. 위 configure 설정의 옵션으로 컴파일 할 경우 아마 문제가 발생하지 않을것이다...

반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post