기본 콘텐츠로 건너뛰기

라벨이 rhel인 게시물 표시

CentOS 5에서 GCC 4.8 사용하기

개발을 하다보면 새로운 기능을 쓰고 싶고, 새로운 기능을 쓰려면 새로운 개발툴을 깔아야 하는 상황을 종종 맞이한다. 보통은 Source RPM 대충 찾아서 깔짝깔짝 하면 뿅하고 새 패키지를 사용할 수 있다지만, GCC 같은 건 glibc, glibc++ 같은 기본 라이브러리와도 매우 밀접한 연관을 갖으며, 설치할 때도 다른 이름으로 지정해주지 않으면, 이미 설치한 무수히 많은 프로그램과 충돌이 나기 쉽다. 애초에 컴파일도 쉽지 않다. OS 업그래이드를 이야기해도 막상 서버 관리자 입장에선 매우 난처할 수 있고... 그러던 참에 CentOS5나 6(혹은 그것에 대응하는 RHEL)에서 GCC 4.8 버전을 쉽게 사용할 수 있는 방법을 찾았다. devtoolset 프로젝트가 바로 그것인데, 딱히 홈페이지도 없다. 참조:  http://people.centos.org/tru/devtools-2/ 설치 방법은 간단하다. readme.txt에 있는 것과 같이 하면 된다. ㅋㅋㅋ root권한으로... # YUM 저장소 설정 wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo # GCC 설치 yum install devtoolset-2-gcc devtoolset-2-binutils 츠암 쉽죠잉? 근데 이거만 한다고 4.1(CentOS5기준)이 4.8로 바뀌는 것은 아니다. source /opt/rh/devtoolset-2/enable 위 명령으로 GCC 툴체인을 변경할 수 있다. 매번하기 귀찮으면 ~/.bashrc 파일에 위 내용을 넣어서 해결할 수 있다.

CentOS 5.1에서 cmake Source RPM으로 설치하기

레드햇에서 바이너리와 레드햇의 일부 프로그램을 공개하지 않겠다고 하여, 공개된 소스만 가지고 컴파일하여 RHEL과 비슷하게 만든 것이 CentOS이다. 또한 RHEL은 안정적인 버전만을 공급하다보니 화려한 최신 버전 패키지를 맛보기 힘들다. CentOS 역시 RHEL과 패키지 현황은 비슷하다. 그렇다... CentOS 5.1에 cmake가 없다. Fedora 8 extra던가? 아무튼 그곳에서 나온 패키지 쓰려고 했더니만 glibc를 업그래이드 하라고 해서 포기하고, rpmfind.net 에서 최신 버전 Source RPM을 내려받았다. 일단 설치하고 바이너리 빌드하려고 했는데... $ rpm -UVh cmake-2.4.8-xxxxx.src.rpm $ cd /usr/src/redhat/SPECS $ rpmbuild --target=i686 -bb cmake.spec 목표대상(target) 플랫폼으로 제작 중: i686 i686(을)를 제작하고 있습니다 오류: Failed build dependencies: xmlrpc-c-devel is needed by cmake-2.4.8-xxxxx.i686 칫, 귀찮게 저런 패키지를 요구하다니! 역시나 rpmfind.net 에서 xmlrpc-c 소스 RPM 패키지를 내려 받아 빌드했다. $ rpm -Uvh xmlrpc-c-1.13.8-xxxxx.src.rpm $ cd /usr/src/redhat/SPECS $ rpmbuild --target=i686 -bb xmlrpc-c.spec 목표대상(target) 플랫폼으로 제작 중: i686 i686(을)를 제작하고 있습니다 오류: Failed build dependencies: cmake is needed by xmlrpc-c-1.13.8-xxxxx.i686 뭐야!? 소스 컴파일마저 서로 의존성이 걸려 있는거야!? 나중에 xmlrpc-c쪽 빌드 시스템을 살짝 까봤는데 cmake를 써서 Makefile을 생성하기 때문에 cmake가 반드시 필요하다. ...