2012-01-10 5 views
-1

CentOS 5를 사용하고 있습니다. 모듈에 대한 rpm 사양 파일을 만들었습니다. libavro는 공유 라이브러리에 대한 시간 의존성을 정확하게 컴파일합니다. 그 목적을 위해 libavro-1.5.1.so.21을 다운로드하여 빌드하고 설치했습니다. 기본적으로/usr/local/lib에 설치됩니다./usr/local/lib를 포함하도록 ld.so.conf를 편집했습니다. ldconfig를 실행하여 ld 캐시를 재생성했습니다. 위 단계를 수행 한 후 모듈의 rpm을 생성했습니다. 내가 만든 동일한 컴퓨터에 rpm을 설치하려고하면 종속성 오류가 발생합니다. - mymodule-1.1-1.x86에서 libavro-1.5.4.so.22 (64 비트)가 필요합니다.rpm 패키지 생성 및 설치

필자는 빌드하는 동안 링크 된 공유 라이브러리에서 왜 실패해야하는지 이해하지 못합니다.

답변

1

대신 libavro-1.5.4를 설치하십시오. rpm은 필요한 라이브러리의 논리 이름 (soname)을 찾고 있으므로 설치가 실패합니다.

1

공유 라이브러리 만 있으면 충분하지 않습니다. 헤더도 필요하고 .so 링크가 링크되어야합니다.

-devel 패키지를 라이브러리 패키지와 함께 찾아서 설치하십시오. devel 패키지를 spec 파일에 BuildRequires으로 추가하십시오.

아, 루트로 RPM을 빌드하지 마십시오. 그렇지 않습니까?