반응형

GCC 설치하기

 

 

 

GCC 홈페이지 - https://gcc.gnu.org/

 

GCC는 GNU C Compiler의 약자로서 일반적인 프로그램 설치를 위해 많이 쓰인다.

 

9/19/2017 기준으로 최신 버전은 7.2이다. 최근 1~2년 사이에 major update가 많이 진행되었는지 숫자가 높아졌다.

 

 

설치 방법은 어렵지 않지만 depedency가 있다.

 

gcc를 설치하기 위해서는 gmp 4.2+, mpfr 2.3.1+, mpc 0.8.0+ 가 필요하다. 

 

 

root권한이 있다면 libgmp-dev, libmpc-dev, libmpfr-dev를 시스템에 설치하면 되지만 local로 설치할 때는 각각 설치한 후 PATH를 잡아주는 번거로운 작업을 거쳐야 한다. 

 

Ubuntu

sudo apt-get install libgmp-dev libmpfr-devl libmpc-dev

 

Red Hat and Fedora

sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

 

Manual install

 

gmp, mpfr, mpc은 아래의 포스팅에서 설치방법을 확인할 수 있다. gmp, mpfr, mpc 순서대로 설치해야 한다.

 

2017/09/19 - [linux] - GMP 설치하기

 

2017/09/19 - [linux] - MPFR 설치하기

 

2017/09/19 - [linux] - MPC 설치하기

 

 

이제 gcc를 설치하기 위해 가까운 미러 사이트인 일본 (http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/)에 들어가서 원하는 버전을 다운 받자. 

 

현재 최신버전인 7.2 버전으로 진행하였다.

 

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.gz

tar -zxf gcc-7.2.0.tar.gz

cd gcc-7.2.0

./configure --prefix=/PATH/TO/INSTALL/GCC--with-gmp=/PATH/TO/INSTALL/GMP --with-mpfr=/PATH/TO/INSTALL/MPFR --with-mpc=/PATH/TO/INSTALL/MPC 

make && make install

위의 명령어에서 gmp, mpfr, mpc를 Manual하게 설치하지 않았다면 configure할 때 PATH는 따로 잡아주지 않아도 된다.

 

 

 

make 할 때 에러가 떠서 아래처럼 fix했다.

 

1.

error: 'GATHER_STATISTICS' was not declared in this scope

 

라는 에러가 뜨면서 설치가 중단됐는데 아래와 같이 변수를 unset해주니 해결됐다.

 

unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE

출처 : https://stackoverflow.com/questions/29981492/gcc-4-9-2-installation-failed-on-linux

 

 

2.

 

libmpc.so.3가 잡히지 않아서 LD_LIBRARY_PATH로 library 경로를 따로 잡아주었다.

export LD_LIBRARY_PATH=/PATH/TO/INSTALL/GMP/lib:/PATH/TO/INSTALL/MPFR/lib:/PATH/TO/INSTALL/MPC/lib:$LD_LIBRARY_PATH 

 

3.

configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib. 

64bit only compiler로 하고싶지 않아서 --enable-multilib 옵션을 추가하였다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

MPFR 설치하기  (0) 2017.09.19
GMP 설치하기  (1) 2017.09.19
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
반응형

cURL 로컬 설치하기




Julia에서 Pkg.add를 하려고 했는데 아래와 같은 에러메세지가 나타났다.


julia> Pkg.add("StatsBase")

INFO: Installing Plots v0.12.2

INFO: Building Plots

INFO: Cannot find deps/plotly-latest.min.js... downloading latest version.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0

curl: (35) SSL connect error

==================================================[ ERROR: Plots ]==================================================


LoadError: failed process: Process(`curl -L -f -o /home/kyoungwoo/.julia/v0.6/Plots/deps/plotly-latest.min.js https://cdn.plot.ly/plotly-latest.min.js`, ProcessExited(35)) [35]

while loading /home/kyoungwoo/.julia/v0.6/Plots/deps/build.jl, in expression starting on line 7


====================================================================================================================


==================================================[ BUILD ERRORS ]==================================================


WARNING: Plots had build errors.


 - packages with build errors remain installed in /home/kyoungwoo/.julia/v0.6

 - build the package(s) and all dependencies with `Pkg.build("Plots")`

 - build a single package by running its `deps/build.jl` script


====================================================================================================================

INFO: Package database updated

INFO: METADATA is out-of-date — you may not have the latest version of StatsBase

INFO: Use `Pkg.update()` to get the latest versions of your packages


curl이 제대로 자동하지 않는 것 같아 shell 화면에서 명령어만 따로 실행해 보았다..


Thu Aug 24 15:21:26 [kyoungwoo@biglab-master gtf_to_fasta]$ curl -L -f -o /home/kyoungwoo/.julia/v0.6/Plots/deps/plotly-latest.min.js https://cdn.plot.ly/plotly-latest.min.js

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (35) SSL connect error


SSL connect error 35가 나오는 것을 확인하였다.


구글링해서 문제 해결방법을 찾아보니 curl의 버전이 낮아서 최신버전을 설치하라고 해서



local로 cURL을 설치하는 법을 찾아보았다.



들어가서 다운로드 후 configure 파일을 생성하기 위해서는 ./buildconf 를 실행해 줘야 한다.


buildconf 후에 configure 파일이 만들어지면 


./configure --prefix=/PATH/TO/INSTALL/CURL

make && make install


export PATH = /PATH/TO/INSTALL/CURL/bin:$PATH

export PATH = /PATH/TO/INSTALL/CURL/lib:$PATH


끝!


Julia 명령도 정상적으로 잘 실행되는 것을 확인했다.


반응형

'Computer Science > linux' 카테고리의 다른 글

GMP 설치하기  (1) 2017.09.19
GCC 설치하기  (1) 2017.09.18
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
Perl 설치 및 실행하기  (0) 2017.04.25
반응형

http://www.repeatmasker.org/RMDownload.html 에 접속


1. perl 버전이 5.8.0 이상인지 확인

2. Search Engine으로 사용할 프로그램 다운로드

3. Repeatmasker 다운로드.


tar zxf RepeatMasker-open-?-?-?.tar.gz 


cd RepeatMasker


perl ./configure


1. 사용할 perl의 PATH

2. Repeatmasker를 설치할 PATH

3. trf의 PATH ( trf 실행 파일의 주소까지 넣어야 함 )

4. 설치할 Search Engine. 적어도 한 가지를 설치하여야 하며 이번에는 bin folder를 경로에 입력.


으로 설치가 끝남.


Repeatmakser 4.0.6은 library의 업데이트를 필요로 하므로 작업이 더 필요한데 4.0.7은 그냥 진행 가능함.



설치가 끝나면 실행 명령은 


RepeatMasker -species <human> -q <hg38.fa>


human은 약 1주일 정도 소요됨.




※ RepeatMasker 사용시 simple repeat을 찾기 위해 trf를 사용하는데 4.0.6 기준으로 trf는 GLIBC_2.14 library를 필요로 함.


error message = trf409.linux64: /lib64/libc.so.6: version `GLIBC_2.14' not found


프로그램을 돌릴 때 trf가 제대로 안돌아 가더라도 결과가 나오기 때문에 프로그램이 정상적으로 돌아간다고 착각할 수 있음.


미리 trf를 따로 실행해서 제대로 결과가 나오는지 확인 필요함.



반응형

'Computer Science > linux' 카테고리의 다른 글

GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
GBrowse2 설치하기  (0) 2017.04.25
Perl 설치 및 실행하기  (0) 2017.04.25
유닉스 명령어 grep, sed, awk 사용해보기  (0) 2016.08.24
반응형

Perl과 apache가 설치되어 있어야함.


windows버전은 GBrowse 1.70 버전까지 지원했다는 글이 있는데 현재는 확인 불가 ( 시도해 보았으나 성공하지 못함. )


Gbrowse2 다운로드 url : https://sourceforge.net/projects/gmod/files/Generic%20Genome%20Browser/


perl module을 다수 설치해야함.


perl Build.pl을 해서 초기 설정을 잡아주어야 함 이 때 module이라는 이름의 perl module이 설치되어 있지 않다면 cpan Module::Build 부터 해주어야 함.


그 이후에는 ./Build installdeps 를 하면 dependency를 알아서 설치해줌. but 수동 설치가 필요한 부분이 존재함


1. 

Please enter the location of Kent source tree: 

Can't find the bigWig.h and jkweb.a files at this location.

Try again, or hit <enter> to cancel: 


Kent source tree는 Kentutils를 설치해야 함.


[링크]

git clone https://github.com/ENCODE-DCC/kentUtils.git 

git에서 다운 받은 후 README.md를 읽으면 설치 방법이 있음.


cd kentuils && make


export KENT_SRC=/PATH/TO/INSTALL/kentUtils/src:$KENT_SRC


2.

Running install for module 'Bio::DB::Sam'

Checksum for /home/kyoungwoo/.cpan/sources/authors/id/L/LD/LDS/Bio-SamTools-1.43.tar.gz ok

Configuring L/LD/LDS/Bio-SamTools-1.43.tar.gz with Build.PL

This module requires samtools 0.1.10 or higher (samtools.sourceforge.net).

Please enter the location of the bam.h and compiled libbam.a files: 


samtools의 bin 파일이 아니라 소스 파일의 경로를 확인해서 넣어주면 됨.

필수 perl module 설치가 끝나면 ./Build test ./Build isntall을 해서 build를 하고 ./Build apache_config를 해서 화면으로 출력되는 config를 복사.
apache config 파일 내에 붙여넣기를 하면 끝남.

apache config파일은 /etc/httpd/conf/httpd.conf 이며 내용 수정 후 apache를 재시작 하면 됨. apachectl -k graceful

브라우저를 켜서 localhost/gbrowse2 로 접속.


반응형

'Computer Science > linux' 카테고리의 다른 글

GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
Perl 설치 및 실행하기  (0) 2017.04.25
유닉스 명령어 grep, sed, awk 사용해보기  (0) 2016.08.24
반응형

다운로드는 공식 홈페이지 https://www.perl.org/get.html 에서 받으면 된다. (stable source code 추천)


wget http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz (4/25/2017 stable 버전)


less README를 하면 설치 가이드를 볼 수 있다.



./Configure -des -Dprefix=$HOME/localperl -Dusethreads


-des = configure 과정 중에 질문이 있는데 항상 default로 진행 된다.

-Dprefix = 프로그램이 설치될 경로 이다.

-Dusethreads = 일부 프로그램을 perl의 multi threads를 요구하기때문에 compile단계에서 설정해주면 나중에 재설치할 필요가 없음. 단, 해당 옵션으로 설치했을 때 단일 thread 프로그램은 조금 느려질 수 있다. (사용을 추천)


make test && make install


make하는데 시간이 상당히 소요된다.


install 이 끝난 후에는 -Dprefix에 넣었던 PATH 안에 있는 의 bin과 lib 폴더를 export 해주면 끝.

반응형

'Computer Science > linux' 카테고리의 다른 글

GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
유닉스 명령어 grep, sed, awk 사용해보기  (0) 2016.08.24
반응형



리눅스에서 문서형식으로 된 데이터 파일들을 처리하다 보면 문서 편집 기능이 필요할 때가 많다.


일일이 스크립트를 짜서 하기엔 너무 번거로우니 간단하게 한 줄로 처리하고 싶을 때 자주 사용하게 되는 명령어들을 정리해 보았다.




  • grep

grep options(s) pattern filename(s)

pattern을 이용한 검색에 사용한다.

주로 특정 패턴이 있는 줄을 출력하거나, 개수를 세거나, 특정 패턴이 없는 줄을 찾거나 등에 사용한다.


예시.

grep 'pattern' filename                 # 패턴이 있는 라인 출력

grep -v 'pattern' filename             # 패턴이 없는 라인 출력

grep -c 'pattern' filename             # 패턴이 있는 라인 수 출력

grep -i 'pattern' filename              # 패턴의 대소문자 구분 없이 

좀 더 정확하게 검색하고 싶다면 regular expression을 사용할 수도 있다.

grep '^pattern' filename                # 패턴이 라인의 시작 부분에서 등장하는 라인만 찾기

grep 'a...d' filename                    # a와d사이에 문자가 3개 포함되는 패턴을 찾기


grep은 사용하는 법도 간단하지만, 여러 가지 조건을 걸고 보기에는 무리가 있어서 다른 유닉스 명령어와 혼합하여 사용하는 경우가 많다.



  • sed

sed [-options] [address] command file... [> newfile]


file을 열지 않고 data를 편집가능하게 해주는 명령어 이다. 


stdout으로 바로 출력되기 때문에 원본 파일은 변화가 없으며 파일로 새로 쓰고 싶으면 stdout을 바로 파일로 만들어주면 된다.


예시.


sed '/pattern/d' filename                                    # 패턴이 있는 라인 삭제


sed -n '/pattern/p' filename                                # 패턴이 있는 라인 만 출력


sed 's/pattern1/pattern2/g' filename                       # 패턴1을 패턴 2로 바꿈


패턴 뒤에 나오는 d, p, g 등이 어떤 기능을 수행할 지 결정하며 그 외의 특별히 기억해야 할 명령어는 없다.



  • awk

awk '{action}' filename

좀 더 복잡한 조건을 수행하고 싶을때 사용한다. 

예시.

awk '{print $1}' filename                  # 1번 필드만 출력

awk '{if ( $1 > 10 ) print $1}'             # 1번 필드가 10보다 클 때 1번 필드를 출력

awk '{if ( $1 > 10 ) count += 1 } END { print "count : " count }'  # 1번 필드가 10보다 클 때 count를 하나씩 올리고, 파일이 끝난 후 count를 출력

awk '{print > $3".txt"}' inputfile.txt        # inputfile의 3번 column에 있는 이름에 ".txt" 를 붙여서 stdout으로 나오는 출력을 해당 파일로 쓰기


익숙해지면 따로 스크립트를 작성하지 않아도 간단하고 빠르게 문서 편집이 가능하다.



특히나 리눅스에서는 문서 편집 명령어들을 쓸 일이 많기 때문에 쓰다보면 자연스럽게 익숙해질 것이다.



반응형

'Computer Science > linux' 카테고리의 다른 글

GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
Perl 설치 및 실행하기  (0) 2017.04.25

+ Recent posts