살다보니 프로그램을 다운그레이드 하는 일도 있구나...
gcc 버전이 맞지 않아 내 ubuntu에서 ns2가 예전 버전이 컴파일이 안된다...
그래서 OS를 새로 설치하기는 싫어서 gcc를 다운그레이드 하기로 했다...
현재 ubuntu 8.04를 쓰고 있으며, 여기 gcc의 버전은 4.1.2이다...
다운그레이드 하려고 하는 gcc는 3.x대 버전으로 그 중 최신인 gcc 3.4.6을 설치할 것이다.
다행히 구글신을 검색해보니 다운그레이드 하더라도 두 컴파일러를 모두 쓸 수 있다고 한다...
gcc 컴파일러의 3.x대 버전과 4.x대 버전의 가장 큰 차이는
void func(char str[]) {
}
을 3.x 버전에서는 warning으로 처리하던 것을 4.x 버전에서는 error처리를 한다는 것이다...-_-;;
(물론 내가 겪은 문제는 이것이 아니고 g++ STL에서의 vector와 관련된 에러였다.)
4.x 버전에서 error가 없으려면
void func(char *str) {
}
요렇게 처리를 해야지 error가 생기지 않는다고 한다.
일단 3.4 버전의 gcc를 설치한다
$sudo apt-get install gcc-3.4
라고 치면 자동으로 설치가 된다.
그 이후
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 50
를 실행한다.
데비안 계열 리눅스에서는 대체 시스템(alternatives)이 있어서 같은 일을 하는 패키지가 여러 종류일 때
이를 쉽게 변경할 수 있다.
gcc 명령을 실행했을 때 gcc 3.3, gcc 3.4, gcc 4.1, gcc 4.2중에 어떤 것을 선택할지 결정할 수 있다.
javac 명령을 실행했을 때 JDK 1.5나 JDK 1.6을 골라서 실행할 수 있는 것과 같다.
대체 시스템은 시스템에 정해진 것이 아니라 관리자가 원하는대로 만들 수 있다.
'리눅스' 카테고리의 다른 글
Snull 디바이스 드라이버 (0) | 2010.05.18 |
---|---|
디바이스 드라이버 인터럽트 처리 (0) | 2010.05.18 |
gcc 다운그레이드(downgrade) 하기 - fedora, ubuntu (0) | 2009.10.15 |
binutils 다운그레이드 방법 (Fedora) (0) | 2009.10.14 |
ubuntu 리눅스에서 한글 입력이 안 될때.. (0) | 2009.01.18 |