심볼릭 링크와 관련된 질문입니다

안녕하세요, 제가 우분투를 사용하다가 크게 2가지 질문이 있어서 글을 올립니다.

우선 제가 VTK file format을 사용하는 visualization 프로그램을 다운 받아서

tar.gz 압축파일을 풀었더니, bin과 lib폴더가 생성되었습니다.

bin 폴더 안에 실행파일이 있는데요. 실행파일이 visual이면 그 폴더에서 ./visual을 실행시키면

실행이 되는데요, 이상하게 심볼릭 링크를 걸어주면 디렉토리를 찾을 수 없다고 나오네요.

심볼릭 링크를 만들어주기 위해서는 어떻게 해야하나요.

참고로 echo $PATH를 확인하면, .:/home/chung/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/atlas/

이렇게 나옵니다.

그리고 두번째로는 제가 어떤 프로그램을 컴파일 하고 실행을 시키면

./xlvpfem.SER.linux.g95: symbol lookup error: /usr/lib/atlas/liblapack.so.3gf: undefined symbol: _gfortran_pow_r8_i4

이러한 에러가 나오는데요, 이러한 에러는 왜 발생하는건가요. 참고로 위에 있는 폴더를
따라가보면,

-rw-r–r-- 1 root root 6372764 2008-03-23 22:27 liblapack.so.3gf.0
-rw-r–r-- 1 root root 3449824 2008-03-23 22:27 libblas.so.3gf.0
-rw-r–r-- 1 root root 6190316 2008-03-23 22:27 libblas.a
-rw-r–r-- 1 root root 8177990 2008-03-23 22:27 liblapack.a
lrwxrwxrwx 1 root root 18 2010-01-26 15:27 liblapack.so.3gf -> liblapack.so.3gf.0
lrwxrwxrwx 1 root root 16 2010-01-26 15:27 liblapack.so -> liblapack.so.3gf
lrwxrwxrwx 1 root root 16 2010-01-26 15:27 libblas.so.3gf -> libblas.so.3gf.0
lrwxrwxrwx 1 root root 14 2010-01-26 15:27 libblas.so -> libblas.so.3gf

이렇게 되어 있습니다.
이것 역시 링크와 관련이 있는 에러인지요

고수님들의 답변을 부탁드립니다.

[quote="cesar419":342rlcx2]안녕하세요, 제가 우분투를 사용하다가 크게 2가지 질문이 있어서 글을 올립니다.

우선 제가 VTK file format을 사용하는 visualization 프로그램을 다운 받아서

tar.gz 압축파일을 풀었더니, bin과 lib폴더가 생성되었습니다.

bin 폴더 안에 실행파일이 있는데요. 실행파일이 visual이면 그 폴더에서 ./visual을 실행시키면

실행이 되는데요, 이상하게 심볼릭 링크를 걸어주면 디렉토리를 찾을 수 없다고 나오네요.

심볼릭 링크를 만들어주기 위해서는 어떻게 해야하나요.

참고로 echo $PATH를 확인하면, .:/home/chung/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/atlas/

이렇게 나옵니다.
[/quote:342rlcx2]

대체적으로 TclTk 를 바탕으로 컴파일한 프로그램들은 프로그램의 bin, lib 디렉토리 모두 path 와 TCL_LIBRARY, LD_LIBRARY_PATH 변수에 잡아 주셔야합니다.
그런데… 기존 우분투 시스템의 TclTk과 충돌할 우려가 있으므로 우분투시스템내의 TclTk 를 제거하는것도 한 방법입니다.
(파이선은 지우면 절대 안됩니다)
심볼릭 링크를 만드는 법은 $HOME/bin 디렉토리내에서

ln -s /home/chung/프로그램폴더/visual visual

명령을 주면 쉽게 만들수 있고 개인 계정에서 ./visual 명령을 치면 실행이 됩니다만, 실행이 안될경우, 앞서 이야기 한것처럼 프로그램이
필요한 tk 라이브러리를 찾지 못하고 있기 때문에 위에 언급한것처럼 lib 디렉토리를 TCL_LIBRARY, 와 LD_LIBRARY_PATH 에 설정해 주시면 되리라 추측이 됩니다.

vtk 및 tcltk 에 관한 정보는 국내최대? tcltk 포럼 [url:342rlcx2]http://www.tcltk.co.kr[/url:342rlcx2] 를 이용하시면 많은 도움을 얻을수 있지 않을까 생각이 듭니다.

[quote="cesar419":342rlcx2]
그리고 두번째로는 제가 어떤 프로그램을 컴파일 하고 실행을 시키면

./xlvpfem.SER.linux.g95: symbol lookup error: /usr/lib/atlas/liblapack.so.3gf: undefined symbol: _gfortran_pow_r8_i4

이러한 에러가 나오는데요, 이러한 에러는 왜 발생하는건가요. 참고로 위에 있는 폴더를
따라가보면,

-rw-r–r-- 1 root root 6372764 2008-03-23 22:27 liblapack.so.3gf.0
-rw-r–r-- 1 root root 3449824 2008-03-23 22:27 libblas.so.3gf.0
-rw-r–r-- 1 root root 6190316 2008-03-23 22:27 libblas.a
-rw-r–r-- 1 root root 8177990 2008-03-23 22:27 liblapack.a
lrwxrwxrwx 1 root root 18 2010-01-26 15:27 liblapack.so.3gf -> liblapack.so.3gf.0
lrwxrwxrwx 1 root root 16 2010-01-26 15:27 liblapack.so -> liblapack.so.3gf
lrwxrwxrwx 1 root root 16 2010-01-26 15:27 libblas.so.3gf -> libblas.so.3gf.0
lrwxrwxrwx 1 root root 14 2010-01-26 15:27 libblas.so -> libblas.so.3gf

이렇게 되어 있습니다.
이것 역시 링크와 관련이 있는 에러인지요

고수님들의 답변을 부탁드립니다.[/quote:342rlcx2]

에러의 내용인즉 프로그램이 _gfortran_pow_r8_i4 함수를 쓰려고 하지만 라이브러리내에는 없다… 는 뜻입니다.
해결방법은 소스코드를 고치던지, 아니면 해당소스가 사용한 정확한 라이브러리버젼을 알아내서 직접 설치하는것입니다.

해당 경로의 파일을 실행하는 쉘스크립트를 만들어 사용편이 좋지 않을까요.

아래와 같이 심볼링 링크를 만들었습니다.
visual -> /home/chung/projects/visualization/visual/visual-3.6.2-Linux-i686/bin/visual

그런데 막상 실행을 시키면

Error converting runtime path entry "/bin/…/lib/visual-3.6" to real path: No such file or directory

라는 메세지가 뜨네요. lib에 있는 파일을 링크시켜야하는건가요. 해당 폴더로 들어가면, 막상 프로그램을 실행시키는 것은 /bin/visual이거든요.

그리고 쉘 스크립트를 만들면 특정 폴더에서만 실행 가능한 것이 아닌가요?

[quote="cesar419":69fuulmh]그리고 쉘 스크립트를 만들면 특정 폴더에서만 실행 가능한 것이 아닌가요?[/quote:69fuulmh]쉘 스크립트를 만들고, PATH에 그 쉘 스크립트의 경로를 걸면 아무데서나 실행 가능합니다.