Linux Mint 17.1 "Rebecca"- Cinnamon (64-bit)에서 gcc 5.1.0을 빌드하고 설치

Linux Mint 17.1 "Rebecca"- Cinnamon (64-bit)에서 gcc 5.1.0을 빌드하고 설치

2022-10-05 last update

6 minutes reading GCC
Linux Mint 17.1 "Rebecca"- Cinnamon (64-bit)에서 gcc 5.1.0을 소스 코드에서 빌드하고 설치할 때 빠졌으므로 메모해 둡니다. 어쩌면 우분투에서도 비슷한 단계로 설치할 수 있을까요?

당연하지만 콘솔에서 작업합니다.

기본적으로 How to Manually Build and Install GNU Compiler Collection on Linux Mint 와 같이 설치를 진행합니다.

먼저 빌드에 필요한 라이브러리를 설치합니다.

gmp-6.0.0 설치



먼저 GMP(임의 정밀도 산술 라이브러리)를 설치합니다. gmp-6.0.0a.tar.bz2를 다운로드하여 적절한 디렉토리로 압축을 풀고 해당 디렉토리로 이동합니다.
$ wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2
$ tar -jxvf gmp-6.0.0a.tar.bz2
$ cd gmp-6.0.0

그런 다음 다음 명령을 실행합니다.
$ sudo mkdir /opt/gmp-6.0.0
$ ./configure --prefix=/opt/gmp-6.0.0 && make && make check && sudo make install

올바르게 빌드 및 설치된 경우 다음과 같이 표시되어야 합니다.


MPFR-3.1.2 설치



그런 다음 MPFR(고정도 부동 소수점 산술 라이브러리)을 설치합니다. mpfr-3.1.2.tar.bz2를 다운로드하여 적절한 디렉토리로 압축을 풀고 해당 디렉토리로 이동합니다.
$ wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
$ tar -jxvf mpfr-3.1.2.tar.bz2
$ cd mpfr-3.1.2

그런 다음 다음 명령을 실행합니다.
$ sudo mkdir /opt/mpfr-3.1.2
$ ./configure --prefix=/opt/mpfr-3.1.2 --with-gmp=/opt/gmp-6.0.0 && make && make check && sudo make install

올바르게 빌드 및 설치된 경우 다음과 같이 표시되어야 합니다.


MPC-1.0.3 설치



그런 다음 MPC(복소수 산술 라이브러리)를 설치합니다. mpc-1.0.3.tar.gz를 다운로드하여 적절한 디렉토리로 압축을 풀고 해당 디렉토리로 이동합니다.
$ wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
$ tar -xvzf mpc-1.0.3.tar.gz
$ cd mpc-1.0.3

다음 명령을 실행합니다.
$ sudo mkdir /opt/mpc-1.0.3
$ ./configure --prefix=/opt/mpc-1.0.3 --with-gmp=/opt/gmp-6.0.0 --with-mpfr=/opt/mpfr-3.1.2 && make && make check && sudo make install

올바르게 빌드 및 설치된 경우 다음과 같이 표시되어야 합니다.


gcc-5.1.0 빌드 및 설치



마지막으로 gcc-5.1.0을 빌드하고 설치합니다. gcc-5.1.0.tar.bz2를 다운로드하여 적절한 디렉토리로 압축을 풀고 해당 디렉토리로 이동합니다.
$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.1.0/gcc-5.1.0.tar.bz2
$ tar -jxvf gcc-5.1.0.tar.bz2
$ cd gcc-5.1.0

다음 명령을 실행합니다.
$ sudo mkdir /opt/gcc-5.1.0
$ ./configure --prefix=/opt/gcc-5.1.0 --with-gmp=/opt/gmp-6.0.0 --with-mpfr=/opt/mpfr-3.1.2 --with-mpc=/opt/mpc-1.0.3 --disable-multilib --enable-languages=c,c++
$ make -j(thread num) && sudo make install

여기서 (thread num)은 병렬 빌드에 사용할 스레드 수를 지정합니다.
이상을 실행하면 내 환경에서 다음과 유사한 오류가 표시됩니다.

여러가지 조사한 결과, 이것은, CPLUS_INCLUDE_PATH
아래 그림과 같이 내 환경에서는 C_INCLUDE_PATH.bashrc 를 주석 처리하면 문제없이 빌드할 수 있었습니다.
g++ 4.7.1 compilation error : conflicting types for ‘strsignal’ - Stack Overflow

올바르게 빌드 및 설치된 경우 다음과 같이 표시되어야 합니다.


/etc/profile 및 /etc/ld.so.conf 편집



그런 다음/etc/profile에 대해 다음 명령을 실행합니다.
sudo sh -c "echo 'export PATH=/opt/gcc-5.1.0/bin:\$PATH' >> /etc/profile"
sudo sh -c "echo 'export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu' >> /etc/profile"

그런 다음/etc/ld.so.conf에 대해 다음 명령을 실행합니다.
sudo sh -c "echo '/opt/gmp-6.0.0/lib' >> /etc/ld.so.conf"
sudo sh -c "echo '/opt/mpfr-3.1.2/lib' >> /etc/ld.so.conf"
sudo sh -c "echo '/opt/mpc-1.0.3/lib' >> /etc/ld.so.conf"

다음 명령을 실행하여/etc/profile 및/etc/ld.so.conf 변경 사항을 반영합니다.
sudo ldconfig -v
. /etc/profile

설치 확인


CPLUS_INCLUDE_PATH를 실행하고 다음과 같이 PATH 환경 변수에 source ~/.bashrc가 포함되어 있는지 확인하십시오.

$ printenv PATH/opt/gcc-5.1.0/bin 를 실행하여 다음과 같이 5.1.0으로 표시되는지 확인합니다.


보충



또한 내 환경에서는 Boost 빌드에서 $ gcc --version 라고 했으므로 와 같이,
$ sudo apt-get install libstdc++6
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

그렇다면 해결되었습니다.

이것으로 gcc-5.1.0의 빌드와 설치가 완료되었습니다. 수고하셨습니다.