IT한 것/unix

HP-UX 11.11 에서 라이브러리 링킹 실패

lovian 2010. 12. 17. 11:43
분명히 라이브러리가 있음에도 링킹이 실패하는 경우가 있었다.

때문에 권한, 이름 등등 많은 것을 수정해보았지만 실패했다.

한동안 포기하고 있다가, 또 다시 이슈가 되면서 보게되었다.


무적의 tusc를 설치했다.

추적하니 라이브러리 서칭을 stat -> open 하는 방식을 사용한다.

stat("/data/lovian/a/libco.sl", 0x7f81208c) .................................................................... ERR#2 ENOENT
stat("/data/lovian/b/libco.sl", 0x7f81208c) .................................................................... ERR#2 ENOENT
stat("/data/lovian/libco.sl", 0x7f81208c) ....................................................................... = 0
open("/data/lovian/libco.sl", O_RDONLY, 0666)... ......................................................... ERR#24 EMFILE
stat("/data/lovian/libco.sl", 0x7f81208c) ....................................................................... ERR#2 ENOENT

libco.sl 파일을 a, b 디렉터리에서 찾고 없으므로 NO Entry 오류.
홈디렉터리에서 찾았으므로 open
근데 errno 값이 EMFILE이고 man open 해보면

           [EMFILE]       The maximum number of file descriptors allowed are
                          currently open.

즉 디스크립터가 최대 개수로 열려져 있으므로, 중단된거다.

하여.

ulimit -n 1000을 시도하였으나,
이상하게 적용이 안된다.

좀더 구글링하니 tcsh에서는 limit을 쓰란다.

하여
limit descriptors 1000
을 적용하였다.

상황종료. :)