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 옵션을 추가하였다.