2014-06-10 4 views
0

rpm5가 centos 5.x로 컴파일되어 libnetsnmp.so.10 및 기타 공유 객체가 필요합니다. 나는에 CentOS 6.x에서 실행되어야하는 그것의 RPM을 만들려고하지만, 그것은 말한다 설치에 같이 설치하는 데 실패호환성 문제 centos 5.x에서 6.x까지

오류 : 실패 의존성 : libnetsnmp.so.10를() (64 비트) 인 필요에 따라 ...

그러나 Centos 6.x에는 libnetsnmp.so.20이 포함되어 있습니다. 그래서 libnetsnmp.so.20의 libnetsnmp.so.10의 심볼릭 링크를 만들었습니다. 그러나 문제는 여전히 동일합니다.

이 문제를 해결할 수 있도록 도와주세요.

+0

그런 시스템 수준의 심볼릭 링크를 만들지 마십시오. 그것은 결코 정답이 아닙니다. CentOS 5 대신 CentOS 6에서 RPM을 다시 작성하면 제대로 작동합니다. –

답변

0

CentOS 6 용으로 다시 컴파일 할 수없는 경우 두 가지를 시도해 볼 수 있습니다. 먼저 CentOS 6 서버에 올바른 libnetsnmp를 설치하십시오.

Autoreq: no 

이가 (예 : 동적 링크 라이브러리와 같은) 의존성에 대한 바이너리를 검사하지 않는 원인이됩니다, 자동으로 RPM으로 그 구축 : 그 옵션이 아니라면, 당신은 당신의 RPM 사양 파일에 다음을 추가 할 수 있습니다 .

물론 libnetsnmp의 해당 버전이 실제로 필요하다면, 스스로 길을 걷는 것만으로도 새로운 버전이 좋을 것입니다.

+0

libnetsnmp.so.20의 libnetsnmp.so.10에 대한 링크를 만들면 바이너리 만 복사해도 바이너리가 제대로 실행됩니다. 하지만 rpm을 설치해야합니다. 그럴 수있는 방법이 있습니까? rpm의 spec 파일에서이 종속성 만 제외하는 방법이 있습니까? – khopdi

+0

자동 요구 사항을 사용하지 않으면 설치를 방해하는 RPM 종속성 만 도움이됩니다. 그 자체로 바이너리 작업을하지는 않을 것입니다 (심볼릭 링크 또는 똑같이 끔찍한 아이디어가 필요할 수도 있습니다). –

+0

@Etan 그의 질문은 RPM을 설치하는 방법이었습니다. 의존성없이 RPM을 다시 생성하거나 --nodep을 사용하여 설치할 수 있습니다. – CDahn