>> Read No. 62566 article  
라이브러리 링크시에 에러에 관하여

등록 2002-12-11 09:56:00     조회 4
이름 후지초보    

		안녕하세요. 항상 도움만 받으니 미안한 맘 금함길이 없군요.
언젠가 저도 도움이 될 수 있는 그 날을 꿈꾸며...
다시 한번 도움을 청합니다.
 내용은 다음과 같습니다.
실행파일 ddd는 aaa와 bbb를 링크하여 생성되는 라이브러리 입니다.
이 때 aaa는 a1과a2를 링크하여 생성되는 라이브러리이고.
bbb는 b1과b2를 링크하여 생성되는 라이브러리입니다. 그리고 aaa와 bbb는
모두 공유(-shared)라이브러리로 작성이 되었구요.
근데 실제로 ddd를 생성하려다 보면 aaa는 괜찮지만 bbb의 b1과 b2를
참조할 수 없다는 링크 에러 메세지가 뜹니다. 이미 aaa와 bbb 모두 라이
브러리로 생성이 되어 있는 상태인데도 말입니다.
그래서 LD_LIBRARY_PATH라는 환경변수에다가 b1과 b2가 들어 있는
패스를 지정해 주었더니 이상없이 링크가 성공합니다.
(물론 ddd에는 a1,a2,b1,b2가 들어 있는 디렉토리 패스는 모두 지정
되어 있는 상태입니다.)...
도대체 이현상이 어떤 현상인지 궁금합니다.
 정리 해서 말씀드릴께요.
 1. gcc -o -shared /abc/aaa.so -L/abc -la1 -la2
  --> aaa.so가 /abc디렉토리 밑에 생성된다.
 2. gcc -o -shared /abc/bbb.so -L/abc -lb1 -lb2
  --> bbb.so가 /abc디렉토리 밑에 생성된다.
 3-1. gcc -o /abc/ddd.exe -L/abc -laaa -lbbb
  --> 링크 에러 발생!!!!
gcc -o /abc/ddd.exe -L/abc -laaa -lbbb
/usr/bin/ld: warning: b1.so, needed by /abc/bbb.so, not found
(try using -rpath or -rpath-link)
/usr/bin/ld: warning: b2.so, needed by /abc/bbb.so, not found
(try using -rpath or -rpath-link)
 3-2. export LD_LIBRARY_PATH=/abc
     gcc -o /abc/ddd.exe -L/abc -laaa lbbb
  --> 링크 성공
 ==== 궁금한 내용 =====
1. 위 3-1에서 왜 a1과 a2의 링크 에러는 발생하지 않았을까?
2. 위 1과2에서 성공적으로 생성된 라이브러리 aaa과bbb가 왜 3-1에서
   갑자기 에러가 발생되었을까?
3. LD_LIBRARY_PATH란 환경변수는 링크시에 기본적으로 라이브러리를
   참조하는 디렉토리라고 알고 있는데, 링크시에 분명 라이브러리의 패스
   를 지정해 줬음에도 불구하고 이런 에러가 발생하는 이유가 무엇일까?
======================
이상입니다. 말이 넘 길었군요...고수님의 가르침을 기다리겠습니다.
그럼 꾸벅.
이름
암호
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.55 초 ] 작업시간: [ 0.06 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791064654
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.