/usr/lib에있는 새로운 버전의 GCC (4.3.9)를 컴파일하고 설치 한 Linux 상자가 있습니다.RPM을 설치할 때 libstdC++ (GLIBCXX _...)에 대한 의존성이 없습니다.
나는 내가 RPM에 번들로 제공 한 라이브러리의 집합을 구축하기 위해 컴파일러를 사용하지만, 내가 올 때 그것은 다음과 같은 오류를 제공하는 RPM을 설치하려고 :
rpm -ivh my-rpm.i586.rpm
error: Failed dependencies:
libstdc++.so.6(GLIBCXX_3.4.10) is needed by my-rpm.i586
libstdc++.so.6(GLIBCXX_3.4.11) is needed by my-rpm.i586
libstdc++.so.6(GLIBCXX_3.4.15) is needed by my-rpm.i586
libstdc++.so.6(GLIBCXX_3.4.20) is needed by my-rpm.i586
libstdc++.so.6(GLIBCXX_3.4.9) is needed by my-rpm.i586
나는이 기호는 것을 알고있다
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
...
GLIBCXX_3.4.10
GLIBCXX_3.4.11
...
GLIBCXX_3.4.15
...
GLIBCXX_3.4.20
그리고 나는 RPM으로 패키지 된 .so를 파일 중 하나에 LDD를한다면 나는 그것이 올바른 된 libstdc을 기대하고 있음을 알 수 ++ :
,762 컴파일 된 GCC의 I에 의해 제공됩니다내 유일한 문제는 RPM의 종속성 해결 프로그램이 올바른 위치에 보이게하는 것입니다. This answer LD_LIBRARY_PATH는 검색 경로를 결정하지만 내 .bashrc에서이 설정은 도움이되지 않는 것 같습니다. (그리고 동일한 쉘에서 echo-set으로 설정되어있는 것을 볼 수 있습니다.
내 libstdC++의 위치를 RPM 설치 프로그램에서 이해하려면 어떤 변수를 설정해야합니까?
rpm은 경로에 설치된 RPM이 아닌 다른 RPM의 '제공'에서 종속성을 확인합니다. –