컴파일 환경과 실행 환경의 LIBC 버젼이 다른 경우 어떻게 되나요?
글쓴이: trymp / 작성시간: 화, 2014/09/16 - 3:48오후
liuux x86_64bit 을 기준으로 해서요.
A , B 두대의 PC 가 있다고 가정할 때,
A machine : /lib64/libc-2.12.90
B machine : /lib64/libc-2.15.so
PC A 환경에서 컴파일한 실행파일을 PC B 환경에서 실행시킬 때,
side effect 나 bug 같은 것이 발생할 수 있나요?
혹시 문제가 생기지 않을까 걱정되는 마음에 글을 올려 봅니다.
답변 주시면 감사하겠습니다.
Forums:
?
낮은 버전의 glibc 를 기반으로 빌드했을 경우 더 높은 버전의 라이브러리로
실행하여도 문제가 되지 않습니다. 다만 2.x 에서 빌드한 것을 가지고
3.x (나중에 나올 경우) 에서 실행한다고 하거나 하면 문제가 됩니다.
물론 side effect나 bug 가 발생할 가능성이 완전히 0이라고 할 수는 없으나
glibc 프로젝트에서 그렇게 얘기하는 한 일단 그렇게 가정해도 무방합니다.
만약 문제가 생기고 이게 글로벌한 문제라면 버그 리포팅하면 됩니다.
https://github.com/gnutel/embedded/wiki/Glibc-%EB%9E%80%3F
감사합니다.^^
덕분에 배위갑니다.
파고들어가면, 머리가 좀
파고들어가면, 머리가 좀 아픕니다.
https://www.kernel.org/pub/software/libs/glibc/hjl/compat/GNUvers.txt 인데요,
.o 나 .a 를 배포하는 경우에 https://www.kernel.org/pub/software/libs/glibc/hjl/compat/ 같은 상황에 부딪힐 수 있습니다.
아무튼... 뭔가 이상이 생길만한 상황이면 실행도 안되고, 로드도 안되고, 링크도 안되도록 되어 있다는 것을 기억해두시면 됩니다.
댓글 달기