etc/ld.so.conf 파일에 라이브러리 디렉토리를 추가하고
ldconfig 명령을 실행한 후, 해당 라이브러리 디렉토리로
이동하여 확인하니, 소프트링크 파일이 생성되지 않네요.
어떻게 된건지...
Red Hat 8.0을 쓰고 있습니다.
소프트 링크가 무엇인지는 모르겠습니다만
ldconfig -p 를 해보십시오.
etc/ld.so.conf 파일에 라이브러리 디렉토리를 추가하고 ldconfig 명령을 실행한 후, 해당 라이브러리 디렉토리로 이동하여 확인하니, 소프트링크 파일이 생성되지 않네요. 어떻게 된건지... Red Hat 8.0을 쓰고 있습니다.
------------------------------------------------------------------------------------------------ Life is in 다즐링
심볼릭 링크가 아닐까요?
하드링크의 반대의미로 생각하신듯...
---- 자신을 이길 수 있는자는 무슨짓이든 할수있다.. 즉..무서운 넘이란 말이지 ^-_-^ 나? 아직 멀었지 ㅠㅠ
ldconfig -v
ldconfig -p
다 해봐도 생성되지 않는군요. 음...
gcc를 다시 설치해야 할까요? ㅡ,.ㅡ?
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
ldconfig -p 해보시면
현재 설치된 것들이 나옵니다.
거기서 grep 해보세요.
ldconfig -v ldconfig -p 다 해봐도 생성되지 않는군요. 음... gcc를 다시 설치해야 할까요? ㅡ,.ㅡ?
예~ 그건 알고 있습니다. 그게 문제가 아니라, ldconfig 명령 후 심볼릭 링크가
생성되어야 하는데 생성이 안되서 그러는 겁니다.
제가 만든 라이브러리들을 특정 디렉토리에 만들어 놓고 쓸려고 하고
있거든요.ㅡ,.ㅡ;
ldconfig명령을 내리면 어떻게 되나요? 제가 알기로는
/etc/ld.so.conf파일의 디렉토리 패스의 라이브러리들을
해당 버젼에 맞게 심볼릭 링크하지 않나요?
전 왜 생성되지 않는지가 궁금한 겁니다. 리스트가 나오고 안나오고가
문제가 아니라...
제가 알고 있는것이 틀리다면 지적해주시면 감사하겠습니다.
관심 갖아 주셔서 감사합니다. *^^*
symbolic link가 생기지 않는 것은 library의 soname이 같기 때문입니다.
예를 제 컴에는
/usr/lib/libvcard.so.0.0.0
이라는 놈이
/usr/lib/libvcard.so.0
라는 놈한테 symbolic link를 당하고(?) 있습니다.
이 경우
objdump -p /usr/lib/libvcard.so.0.0.0
해주면,
SONAME libvcard.so.0
라는 줄이 나타나게 됩니다.
soname은 version control을 하기 위해 주로 사용되는 object 내의 필드입니다. linker (ld) 가 shared object를 만들 때, 박아 주는 것이지요.
-soname libtest.so
형태로 넘어가는데요, gcc 등에서 바로 linker에게 넘길 때는
gcc -shared a.o -Wl,-soname -Wl,libtest.so.0 -o libtest.so.0.0.0
이런식으로 넘어가지요.
ldconfig 는 파일명과 soname이 다를경우 soname에 해당하는 symbolic link를 걸어주는 것으로 알고 있습니다.
살림살이가 고생스러우시더래도... 나아지게 노력합시다..
---http://coolengineer.com
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: ldconfig 명령을 사용했는데 소프트링크가 생성되지 않습니
소프트 링크가 무엇인지는 모르겠습니다만
ldconfig -p 를 해보십시오.
------------------------------------------------------------------------------------------------
Life is in 다즐링
무의미한 리플 ^^;
심볼릭 링크가 아닐까요?
하드링크의 반대의미로 생각하신듯...
----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ
아~ 죄송합니다. 하드링크랑 자꾸 반대로 생각하다보니...
ldconfig -v
ldconfig -p
다 해봐도 생성되지 않는군요. 음...
gcc를 다시 설치해야 할까요? ㅡ,.ㅡ?
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
Re: 아~ 죄송합니다. 하드링크랑 자꾸 반대로 생각하다보니...
ldconfig -p 해보시면
현재 설치된 것들이 나옵니다.
거기서 grep 해보세요.
------------------------------------------------------------------------------------------------
Life is in 다즐링
*^^*
예~ 그건 알고 있습니다. 그게 문제가 아니라, ldconfig 명령 후 심볼릭 링크가
생성되어야 하는데 생성이 안되서 그러는 겁니다.
제가 만든 라이브러리들을 특정 디렉토리에 만들어 놓고 쓸려고 하고
있거든요.ㅡ,.ㅡ;
ldconfig명령을 내리면 어떻게 되나요? 제가 알기로는
/etc/ld.so.conf파일의 디렉토리 패스의 라이브러리들을
해당 버젼에 맞게 심볼릭 링크하지 않나요?
전 왜 생성되지 않는지가 궁금한 겁니다. 리스트가 나오고 안나오고가
문제가 아니라...
제가 알고 있는것이 틀리다면 지적해주시면 감사하겠습니다.
관심 갖아 주셔서 감사합니다. *^^*
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
symbolic link가 생기지 않는 것은 library의 sona
symbolic link가 생기지 않는 것은
library의 soname이 같기 때문입니다.
예를 제 컴에는
/usr/lib/libvcard.so.0.0.0
이라는 놈이
/usr/lib/libvcard.so.0
라는 놈한테 symbolic link를 당하고(?) 있습니다.
이 경우
objdump -p /usr/lib/libvcard.so.0.0.0
해주면,
SONAME libvcard.so.0
라는 줄이 나타나게 됩니다.
soname은 version control을 하기 위해 주로 사용되는 object 내의 필드입니다.
linker (ld) 가 shared object를 만들 때, 박아 주는 것이지요.
-soname libtest.so
형태로 넘어가는데요, gcc 등에서 바로 linker에게 넘길 때는
gcc -shared a.o -Wl,-soname -Wl,libtest.so.0 -o libtest.so.0.0.0
이런식으로 넘어가지요.
ldconfig 는 파일명과 soname이 다를경우 soname에 해당하는 symbolic link를 걸어주는 것으로 알고 있습니다.
살림살이가 고생스러우시더래도... 나아지게 노력합시다..
---
http://coolengineer.com
댓글 달기