한 머신에 여러 gcc 버전을 안전하게 사용하는 방법은?
글쓴이: dorado2 / 작성시간: 수, 2006/04/26 - 8:17오후
현재 fedora core 4 (gcc 버전 4) 머신을 사용중입니다.
그런데 사정상 gcc 2.96 버전도 같이 사용해야할 것 같습니다.
어떤 계산 프로그램을 돌리는데, 일부 사용자는 2.96 버전 기반 환경에서 써야 하고,
다른 사람은 gcc 4 버전을 써야 합니다.
사용자 별로 안전하게 다른 gcc 버전을 사용하는 방법이 있을까요?
glibc 같은 라이브러리 도 문제가 되지 않을까요?
섣불리 설치하기가 어렵네요.
gcc 소스 받아서 설치한 후 /usr/local 쪽에 깔고 그 때 그때 PATH 설정해서 할 수 도 있겠지만,
다른 사용자 간에 불편이 없어야 해서요.
답변에 미리 감사드립니다.
Forums:
유저별로 가능한지는
유저별로 가능한지는 모르겠습니다만...
gcc-config를 이용하시면 가능하다고 알고 있습니다.
배포판이 틀리지만 Gentoo에서는 다음과 같이 사용한다고 나와있네요.
http://usr.gentoo.or.kr/forum/read.php?table=tip&no=561&page=1&o[sc]=t&o[ss]=gcc&o[st]=a&o[at]=s&o[sct]=s&o[stt]=s
------------------------------
좋은 하루되세요.
------------------------------
좋은 하루 되세요.
가능합니다.
페도라에도 backwards compatibility를 위해서 compat라는 이름으로 gcc나 glib등의 예전버전 패키지가 포함되어 있습니다. 그래서 최신 버전의 페도라를 깔아도 옛날 옛적 버전의 readhat linux에 맞춰나온 베더제공 소프트웨어들을 무리없이 쓸수 있습니다.
yum search gcc-compat
로 검색해 보시면 gcc2.9 버전, gcc3.3 대 버전의 gcc도 찾을 수 있을 거고요,yum search glibc-compat
정도로 검색 해보고 적당한 버전의 glic를 같이 깔면 됩니다. 컴파일을 위해서는 dev 패키지도 같이 깔아야 합니다.그런다음
ls -l /usr/bin/gcc*
해보면 여러버전의 gcc가 깔려있는 것을 볼수 있을 겁니다.보통 ./configure, make, make install 로 소프트웨어 설치시 configure에서 적당한 C 컴파일러를 찾습니다. 이때 보통 CC라는 환경 변수가 설정되어 있으면 해당 컴파일러를 사용하고 없는 경우 알아서 gcc를 디폴트로 찾아오게 됩니다.
그러므로 설치된 2.9대 버전의 컴파일러를 사용하고 싶은 경우
CC=gcc29 ./configure <기타옵션....>
과 같이 사용하시면 됩니다. (자세한 컴파일러 이름은 직접 확인해 보세요 ^^)
C++의 경우 CXX=g++29 식으로 하면 됩니다.
gcc-config는
아예 링크를 다 바꿔버리기때문에 동시에 같이 쓸 수는 없습니다. 즉 한명 작업이 끝나면, 다른 사람이 써야하는 식으로 해야죠. 그렇게 하지말고, 각 홈디렉토리 내에 ~/bin 디렉토리를 만들고 gcc 관련 파일을 넣습니다. 그리고 .profile에서 path를 ~/bin을 우선순위높게 잡아주고요. lib와 include도 비슷하게 잡아줄 수 있을 듯하네요. 아니면 Makefile에서 설정할 수도 있을테구요.
------------------------------
How many legs does a dog have?
댓글 달기