바이너리 호환성
글쓴이: alfalf / 작성시간: 금, 2005/08/19 - 3:32오후
좀 애매한 질문이긴 한데요.
데비안 Woody에서 컴파일된 프로그램인데 유독 Redhat 계열, Redhat 8, 9, Fedora 등, 에서만 작동이 안됩니다.
구체적으로 C++ 로 작성된 프로그램으로 특별한 library를 사용하지는 않습니다. 제가 테스트 한 바로는 데비안 기반인 우분투와 전혀 다른 배포판인 젠투에서는 라이브러리 버젼만 맞춰 주면 잘 작동이 되는데 레드햇 계열에서 만은 중간에 'Segmentation violation'을 내며 중단이 됩니다.
Source가 없이 바이너리 파일만 있어 들여다 볼수도 없는데 혹시어디에 문제가 있는지 짐작이라도 알려주시면 고맙겠습니다.
Forums:
동적으로 연결되는 라이브러리의 버전 문제로 보입니다.꽤 흔히 있는 일
동적으로 연결되는 라이브러리의 버전 문제로 보입니다.
꽤 흔히 있는 일이죠.
(한컴오피스도 예전에 rh9에서 안돌아가는 문제 때문에
아예 통째로 재컴파일해서 내놨던 적이 있었죠. 2.0버전이었던가)
Written By the Black Knight of Destruction
역시 라이브러리 문제였습니다.
감사합니다. Necromancer님 글을 읽고 문제가 되는 라이브러리(libstdc++-3-libc6.2-2-2.10.0.so) 를 찾은 후 Woody에서 라이브러리를 직접 가져다 해당 프로그램 디렉토리에 넣고 LD_LIBRARY_PATH를 잡아 주는 방법으로 문제를 해결했습니다.
근데, 제가 프로그램을 작동시키려 고생한 Fedora1에도 이미 같은 버젼의 라이브러리가 있는데 왜 문제가 생겼는지는 아직도 모르겠습니다. 라이브러리 생성시 레드햇에서만 사용하는 특별한 옵션이 있는 걸까요?
댓글 달기