lapack 라이브러리를 설치했는데.. /usr/lib에 liblapack.a 라는 파일이 있는데.. liblapack.so.3 이라는 동적 라이브러리 링크를 만드려면 어떻게 해야 하나요?? 그냥 cp liblapack.a liblapack.so.3 이라고 하니까.. 헤데 파일이 잘못되었다고 하면서 안 되더군요..
.a와 .so는 따로 만들어지는 파일입니다. 이름만 바꿔서 쓸 수는 없습니다. 빌드할 때 so를 만드는 옵션을 주거나 so가 포함된 바이너리를 설치하세요.
/usr/local/lib 밑에 liblapack.a가 깔려있다면 다음과 같이 하면 됩니다.
# cd /usr/local/lib # mkdir obj # ar x ../liblapack.a # g77 -shared -Wl,-export-dynamic *.o -o ../liblapack.so.3.0.3 -Wl,-soname,liblapack.so.3 # cd .. # rm -fr obj # vi /etc/ld.so.conf /usr/local/lib # ldconfig -v
.a와 .so는 따로
.a와 .so는 따로 만들어지는 파일입니다. 이름만 바꿔서 쓸 수는 없습니다. 빌드할 때 so를 만드는 옵션을 주거나 so가 포함된 바이너리를 설치하세요.
/usr/local/lib 밑에
/usr/local/lib 밑에 liblapack.a가 깔려있다면
다음과 같이 하면 됩니다.
# cd /usr/local/lib
# mkdir obj
# ar x ../liblapack.a
# g77 -shared -Wl,-export-dynamic *.o -o ../liblapack.so.3.0.3 -Wl,-soname,liblapack.so.3
# cd ..
# rm -fr obj
# vi /etc/ld.so.conf
/usr/local/lib
# ldconfig -v