HP에서 $ORIGIN
관련질문
[url]http://bbs.kldp.org/viewtopic.php?t=71090 [/url]
<a href="http://bbs.kldp.org/viewtopic.php?t=71090 ">관련질문</a> 
$ORIGIN'이 안먹는 것 같다는 점입니다. 
다음과 같은 폴더구조가 있다고 하죠. 
/exefolder/lib_folder/ 
그리고 실행파일 exe와 A.so, B.so가 있다고 할 때 
1) 
Wl,+b,'$ORIGIN' 없이 -L/exefolder/로 링크했을 때 
exe는 /무조건 /exefolder/에서만 so를 찾는 것 같습니다. 
exe는 어느 디렉토리에 넣던 상관없는 것 같고요. 
2) 
-Wl,+b,'$ORIGIN' 를 사용하면 
exe는 전혀 so 파일을 못찾더군요. 
3) 
그래서 제가 한번 
-Wl,+b,'.' 를 옵션으로 줘봤습니다. 
그러자, exe는 무조건 exe가 존재하는 디렉토리에서만 (물론 LIB_PATH포함해서) 찾는 것 같더군요. 
사실 제가 원하는 것은 A.so가 B.so를 필요로 할 때, 
A.so와 B.so가 lib_folder에 있고 exe가 exefolder에 있다고 해도 exe가 A.so를 fullpath로 읽으들이면 A.so는 자기가 존재하는 디렉토리에 B.so가 있으면 load되는 것인데 말이죠. 
(리눅스에서는 이렇게 되더군요. -rpath를 썼을 때.) 
그래서 저의 의문점은 
HP에서는 '$ORIGIN' 이 제대로 인식이 안되는게 아닌가 하는 것입니다. 다른 세팅이 선행되어야 하는지도 의심이 되고요. 
-Wl,+b,'$ORIGIN' 를 사용하면 아예 로드를 못하니 더 답답하더군요. 
고수님들의 많은 도움 부탁드려요. T_T


댓글 달기