내부 소프트웨어 용 rpm 패키지를 빌드하고 있습니다. 바이너리와 perl 스크립트/모듈을 포함합니다. 빌드 프로세스 중에 rpmbuild는 자동으로 perl 코드를 검사하고 DBD : mysql을 포함한 종속성 perl 모듈을 빌드합니다. 소프트웨어 패키지를 설치하려고하면 rpm이 DBD :: mysql을 찾을 수 없다는 오류와 함께 실패합니다. DBD :: mysql이 시스템에 설치됩니다.종속 perl 모듈이 설치되어 있어도 rpm 설치가 실패합니다.
# rpm -ivh conserver-admin-8.1.18-.el5.CME_1.0.x86_64.rpm
error: Failed dependencies:
perl(DBD::mysql) is needed by conserver-admin-8.1.18-.el5.CME_1.0.x86_64
# rpm -qp --requires conserver-admin-8.1.18-.el5.CME_1.0.x86_64.rpm
/bin/ksh
/bin/sh
/usr/bin/perl
perl(CMEconserver)
perl(DBD::mysql)
perl(DBI)
perl(Data::Dumper)
perl(Exporter)
perl(FindBin)
perl(Getopt::Std)
perl(POSIX)
perl(Socket)
perl(lib)
perl(strict)
perl(warnings)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1`
펄 모듈은 의존성 목록에서 펄 모듈의 모든 시스템에 설치되어있는 시스템
# perl -e 'use DBD::mysql;'
#
에 설치되어 있고 나는 아무 문제없이 스크립트를 실행할 수 있습니다.
내가 뭘 잘못하고 있니?
큰 망치를 적용했습니다. ;) 나는 그것을 다시 켜고 그것이 필요한 것의 목록을 얻는 것이 좋습니다. 그런 다음 그것을 끄고 각각에 대해 spec 파일에'Requires' 태그를 수동으로 추가하십시오. 아마도/usr/lib/perl/site-perl/etcetcetc/DBD/mysql.pm'과 같은 것일 수도 있습니다. RPM이 내부적으로 만 사용되고 있기 때문에 괜찮을 것입니다. –