현재 CentOS 6.9 버전의 gcc 버전은 4.4.7이다.

 

[root@CentOS6 ~]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

그런데 Node.js 최신 버전을 컴파일 설치하려면 gcc 4.8.5 이상이 필요하다. CentOS 7에는 gcc 버전이 4.8.5이나 Node.js 하나 컴파일 하고자 OS를 변경할 이유는 없다. 물론 gcc 소스를 직접 다운로드 받아 컴파일 설치하는 방법도 있다. 하지만 gcc 뿐 아니라 다른 라이브러리 버전 등 걸리는 문제들이 많기 때문에 험난한 길이고, 특히 gcc는 컴파일 설치하는데만 수십분이 소요되는 작업이다.

 

이러한 고민을 한방에 해결해줄 수 있는 툴이 바로 Devtoolset 계열이다.

 

https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

 

devtoolset-3 - Developer Toolset is designed for developers working on CentOS or Red Hat Enterprise Linux platform. It provides current versions of the GNU Compiler Collection, GNU Debugger, Eclipse development platform, and other development, debugging, and performance monitoring tools.

 

설치는 매우 간단하다. 두 줄이면 된다. toolchain을 설치하면 컴파일러, 디버거 등이 설치된다.

 

yum -y install centos-release-scl
yum -y install devtoolset-3-toolchain

 

이렇게 설치하면 아래와 같이 /opt/rh/devtoolset-3/root 아래 필요한 파일들이 설치된다.

 

[root@CentOS6 ~]# ll /opt/rh/devtoolset-3/root
total 76
dr-xr-xr-x.  2 root root 4096 Oct  3  2015 bin
dr-xr-xr-x.  2 root root 4096 Oct  3  2015 boot
drwxr-xr-x.  2 root root 4096 Oct  3  2015 dev
drwxr-xr-x. 14 root root 4096 May 21 11:05 etc
drwxr-xr-x.  2 root root 4096 Oct  3  2015 home
dr-xr-xr-x.  3 root root 4096 May 21 11:05 lib
dr-xr-xr-x.  3 root root 4096 May 21 11:05 lib64
drwxr-xr-x.  2 root root 4096 Oct  3  2015 media
drwxr-xr-x.  2 root root 4096 Oct  3  2015 mnt
drwxr-xr-x.  2 root root 4096 Oct  3  2015 opt
dr-xr-xr-x.  2 root root 4096 Oct  3  2015 proc
dr-xr-x---.  2 root root 4096 Oct  3  2015 root
dr-xr-xr-x.  2 root root 4096 Oct  3  2015 sbin
drwxr-xr-x.  2 root root 4096 Oct  3  2015 selinux
drwxr-xr-x.  2 root root 4096 Oct  3  2015 srv
drwxr-xr-x.  2 root root 4096 Oct  3  2015 sys
drwxrwxrwt.  2 root root 4096 Oct  3  2015 tmp
drwxr-xr-x. 13 root root 4096 May 21 11:05 usr
drwxr-xr-x. 17 root root 4096 May 21 11:05 var

 

위 환경을 환경변수에 적용하여 새로운 shell을 띄우려면 아래와 같이 입력하면 된다.

 

scl enable devtoolset-3 bash

 

또는 source나 . 으로 직접 현재 shell에 반영해도 동일할 듯

 

source /opt/rh/devtoolset-3/enable

 

이 상태로 gcc 버전을 확인해보면 4.9.2가 나온다.

 

[root@CentOS6 ~]# which gcc
/opt/rh/devtoolset-3/root/usr/bin/gcc
[root@CentOS6 ~]# gcc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

위와같은 환경에서는 비록 CentOS 6 버전이지만 Node.js를 컴파일 설치할 수 있다.

 

CentOS 6 환경에서 gcc 버전 때문에 고민이라면 devtoolset 활용을 고려해보시길...

신고

  1. hongyang
    2017.05.22 01:30 신고

    정말 오랜만입니다. 블로그가 유지되고 있는 것이 참 안심되네요.
    근데 KT일은 아닌 것 같고.. 요즘 무슨 일 하세요? 근황 좀 올려주세요.

    • BlogIcon snpbox
      2017.05.23 22:37 신고
      수정 및 삭제

      네 정말 오랜만이죠? 두 아이를 키우다보니 블로그 할 시간이 없네요. 저는 SK플래닛에서 일하고 있습니다. 회사 옮긴지 3년 반도 넘었네요.

  2. BlogIcon 헤이콘타
    2017.05.24 23:39 신고

    정말 고맙습니다.
    편하게 잘 쓸게요.

  3. busank
    2017.06.06 16:58 신고

    반갑습니다

  4. 아들하나딸둘
    2017.06.10 02:10 신고

    지금 이 게시물과 전혀 상관없는 질문을 드리려 합니다 먼저 죄송하다는 말씀을 드리구요...
    제가 여쭈어 보고 싶은것은 외장하드 복사 방지 기능을 사용 하려 하는데요... 윈도우에 이런기능이
    없나요? 제가 만든 파일을 직원에게 주긴 하는데.. 문제가 이게 유출이 되면은 회사매출에 좀 문제가
    생기는 일이라 시큐드라이브 usb copy
    protection 라도 사서 써야 하나 생각중입니다.
    그냥 단순하게 외장하드에 파일을 다른곳에 복사방지를 하고 싶은건데..
    이리저리 찾아봐도 할수있는방법이 사용료 내고 하는방법 뿐이 없더군요.
    쓰고 읽고 지우고 다 상관없지만. 복사만 안되게 하면 되는건데... 외장하드에 있는 파일을... exe dat 등등 엑셀문서 여러가지가 있네요ㅣ,,, 절반은 exe파일이구요.
    혹시 알고 있는 기똥찬 생각 없으신가요? 스누피님? 항상 눈팅만 하는 애용자가 글을 남겨봅니다.
    즐거운 주말 되시구요..

  5. 노란수박
    2017.06.17 07:30 신고

    가장 대중화되어 있는 윈도우 계열에 대한 질문에는 스누피님은 일체 노코멘트로 답변을 안주십니다.