IT한 것/unix

HP-UX에서 shared library를 못 찾는 경우

lovian 2009. 2. 2. 13:39
  1. 흔하디 흔한 LD_LIBRARY_PATH 또는 SHLIB_PATH에 안잡힌 경우.
  2. 실행 파일이 32bit로 작동하는데 라이브러리가 64bit에 잡힌 경우. (또는 이 반대의 경우)
    1. java vm이 32비트 모드인데 라이브러리가 64bit인 경우. (vm에 따라 -d32 -d64로 설정할 수 있다.)
    2. 희한하게도 hp의 java vm은 .sl이 아닌 .so파일을 찾는다. 때문에 .sl파일을 찾으려다 실패하는 경우가 종종있었고, 이때마다 해당 .sl 을 .so로 symbolic link로 걸어 해결했다.
  3. SHLIB_PATH  search가 disable인 경우
  4. chart 명령으로 해당 바이너리의 dynamic library 탐색 방법을 보면 위의 값이 disable인 경우가 있다. 이때는 chart명령으로 바꿀 수는 있을거 같은데 해보지는 않았다. (나의 경우에는 내가 만든 바이너리라서 빌드옵션을 수정하여 해결했다.)