CentOS 6에 GCC를 설치하는 방법

CentOS는 RHEL (Red Hat Enterprise Linux)의 개발을 따릅니다. RHEL은 안정적인 서버 플랫폼이되기 위해 노력합니다. 즉, 모든 소프트웨어 패키지의 최신 버전을 포함하기 위해 서두르지 않습니다.

이 기사를 쓰는 시점에서 CentOS 6은 공식적으로 GCC v4.4.7을 배포합니다. 그러나 GCC v5.1이 최근에 릴리스되었습니다. 그 전에는 v4.9.2를 사용할 수있었습니다.

최신 버전의 GCC가 필요하다는 공식 제안은 최신 버전의 소프트웨어 패키지를 지원하는 데 더 중점을 둔 다른 UNIX 배포판을 고려해야한다는 것입니다.

다행히 CentOS에 최신 버전의 GCC를 설치할 수 있으며 이전 버전은 계속 설치되어 있습니다. 이것은 공식적으로 배포 된 소프트웨어를 완전히 사용하는 것과 다르지만 때로는 선택의 여지가없는 것처럼 느껴질 수도 있습니다. 합병증이 생길 수 있습니다. 예를 들어, 타사 커널 모듈을 설치하는 경우 커널을 빌드하는 데 사용 된 것과 동일한 버전의 GCC를 사용하여 컴파일해야합니다.

이 기사에서는 CentOS 6 공식 지원 버전의 GCC를 설치하는 방법과 최신 버전을 설치하는 방법을 설명합니다. 이 기사에서는 CentOS 6 VPS를 새로 설치했다고 가정하지만 기존 VPS의 지침을 확실히 따를 수 있습니다.

공식적으로 지원되는 (구) GCC 버전 설치

소스에서 최신 버전의 GCC를 설치하려는 경우에도 GCC 자체는 C ++로 작성됩니다. 따라서 먼저 이전 C ++ 컴파일러를 설치해야합니다.

  1. Vultr 제어판에서 "View Console"을 클릭하거나 SSH를 설정 한 경우 VPS에 로그인하십시오.

    (a) 루트로 로그인하십시오.

    (b) 자신의 사용자 계정을 만들고 암호를 제공하십시오.

    adduser <username>
    passwd <username>
    

    (c) 사용자 계정이 sudo 명령을 통해 루트 권한으로 명령을 실행할 수 있도록합니다.

    visudo
        After the line "root   ALL=(ALL)   ALL"
        Add the line "<username>   ALL=(ALL)   ALL"
        --- If you aren't familiar with vi, go to the line "root   ALL=(ALL)   ALL".
        ---   Hit "o" to create a new line after that line and enter insert mode.
        ---   Type "<username>   ALL=(ALL)   ALL".
        ---   Hit ESC.
        ---   Type "ZZ" to save.
    

    (d) 루트로 로그 아웃하고 사용자 계정에 로그인하십시오.

  2. CentOS 6 GCC 패키지를 설치하십시오. 의존성으로 인해 약 11 개의 패키지를 설치할 것인지 묻습니다.

    sudo yum install gcc gcc-c++
    
  3. 설치된 버전을 확인하고 해당 위치를 표시하십시오.

    gcc --version
        May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    g++ --version
        May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    which gcc
        /usr/bin/gcc
    which g++
        /usr/bin/g++
    

소스에서 최신 버전의 GCC 설치

CentOS 공식적으로 지원되는 GCC 버전 만 원한다면 모든 준비가 완료된 것입니다. 최신 버전의 GCC가 필요한 경우 계속하십시오.

  1. 중대한! 먼저, 위의 단계를 ���료하여 이전 바이너리 버전의 GCC를 설치하십시오.

  2. 추가로 필요한 패키지를 설치하십시오. 약 41 개의 패키지를 설치할 것인지 묻습니다.

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. 설치할 GCC 버전을 결정하십시오. 이 명령은 사용 가능한 각 버전에 대한 "태그"를 표시합니다.

    svn ls svn://gcc.gnu.org/svn/gcc/tags | grep gcc | grep release
        gcc-2_95-release/
        ...
        gcc-4_9_2_release/
        gcc-5_1_0_release/
    
  4. 원하는 GCC 버전의 소스를 얻으십시오. 몇 분 동안 실행됩니다. 이 기사의 나머지 부분은 gcc-5_1_0_release/소스를로 작성하여에 다운로드합니다 ~/sourceInstallations/gcc_5_1_0_release/.

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_5_1_0_release/
    
  5. 추가 전제 조건의 소스를 확보하십시오. v5.1.0을 사용하면 소스를 다운로드하여 MPFR v2.4.2, GMP 4.3.2 및 MPC 0.8.1의 GCC 빌드에 추가합니다.

    cd gcc_5_1_0_release/
    ./contrib/download_prerequisites
        --- Important, run this as shown, from the gcc_5_1_0_release directory.
        ---   Do not cd to the contrib directory
    
  6. VPS에 768MB의 메모리 만있는 경우 다음 단계에서 메모리가 부족합니다. 1GB의 메모리가 있다면 괜찮을지 모르지만이 단계를 수행해도 문제가되지 않습니다. 2GB 이상의 메모리가있는 경우이 단계를 건너 뛸 수 있습니다. 이 단계는 스왑 파일을 사용하여 500MB의 가상 메모리를 추가합니다.

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. GCC를 빌드하십시오. 몇 시간 동안 실행됩니다. 이 작업이 올바르게 완료되면 마지막 줄에 "성공"이라고 표시됩니다. 빌드가 완료되고 "성공"하는 동안 오류가 발생하는 일부 메시지가 빠르게 스크롤되는 것이 일반적입니다. 소스 디렉토리가 아닌 다른 디렉토리에 빌드하는 것이 좋습니다. GCC 문서에 따르면 소스 디렉토리의 하위 디렉토리 인 빌드 디렉토리를 사용해서는 안됩니다.

    cd ..
    mkdir gcc_5_1_0_release_build/
    cd gcc_5_1_0_release_build/
    ../gcc_5_1_0_release/configure && make && sudo make install && echo "success"
    --- If your VPS has multiple cores, you can speed up the build by changing the middle part
    ---   of this line from "&& make &&" to "&& make -j <number of cores> &&".
    --- You can see the number of cores your VPS has by running "nproc"
    
  8. 6 단계에서 스왑 파일을 설정 한 경우 스왑 파일을 제거하십시오. 다시 구성하지 않으면 재부팅 후 스왑 파일로 사용되지 않으며 VPS의 하드 드라이브 공간 만 차지합니다.

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. 설치된 버전을 확인하고 해당 위치를 확인하십시오.

    hash -r
        (Makes your login "forget" about the previously seen locations of gcc and g++)
    gcc --version
        May say: gcc (GCC) 5.1.0
    g++ --version
        May say: g++ (GCC) 5.1.0
    which gcc
        /usr/local/bin/gcc
    which g++
        /usr/local/bin/g++
    
  10. ld (GNU 링커)에 새 라이브러리를 추가하십시오.

    echo "/usr/local/lib64" > usrLocalLib64.conf
    sudo mv usrLocalLib64.conf /etc/ld.so.conf.d/
    sudo ldconfig
        --- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
        --- You may ignore this message.  It is silent about the work it successfully completed.
    
  11. 선택적으로 hello world 프로그램을 만드십시오.

    mkdir ~/code
    cd ~/code
    Create a file main.cpp that says:
        #include <iostream>
        using namespace std;
        int main() {
            cout << "Hello world!" << endl;
            return 0;
        }
    --- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
    ---   typing the above file, hitting ESC, and hitting "ZZ" to save.
    g++ main.cpp -o main
    ./main
        Hello World!
    
  12. 선택적으로 하드 드라이브 공간을 확보하십시오. 귀하의 ~/sourceInstallations폴더는 8.0GB 주위를 차지한다. 나중에 어느 시점에서 사용해야 할 선택적 구성 옵션이 있으므로 폴더를 보관하는 것이 좋습니다. 이미 많은 작업을 수행하는 것이 더 빠릅니다. 또한 빌드 프로세스는 문제가 발생하면 나중에 확인하고 작업 할 수있는 로그를 만듭니다. 그러나 sudo make install이전에 실행 한 후에 는 설치된 GCC가이 디렉토리의 내용에 의존하지 않으므로 공간이 부족할 수 있으므로이 단계를 수행하여 8.0GB 정도를 되 찾을 수 있습니다.

    cd ~/
    rm -rf sourceInstallations
    --- Again, if you can spare the space, you may someday be happy to have left it there.
    

이제 CentOS가 공식적으로 지원 gcc되고 g++있으며 /usr/bin/CentOS는 공식적으로 32 비트 라이브러리를 /lib지원하고 CentOS는 공식적으로 64 비트 라이브러리를 제공 /lib64하며 CentOS는 공식적으로 파일을 포함합니다 /usr/include.

당신의 새로운 gccg++/usr/local/bin새로운 32 비트에서 libs와 /usr/local/lib, 당신의 새로운 64 비트 libs와 /usr/local/lib64, 그리고 최신의 파일을 포함하여 /usr/local/include.

댓글 남기기

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구