나는 몇 가지 소프트웨어를 컴파일하려고 합니다(스포트라이트 작가) openSUSE 11.3(리눅스 2.6.34.7-0.5-desktop). (소위 openSUSE RPM에 대한 실제 다운로드 링크를 찾을 수 없습니다...RPM에 대한 메타데이터가 많이 있을 뿐입니다.) 그래서 git에서 소스 코드의 압축을 풀고 다음 지침을 실행했습니다 qmake
.
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found
YaST와 zypper에 따르면 이러한 패키지가 모두 실제로 설치되어 있는 것으로 알고 있습니다. /usr/lib64/
libao.20.2, libzip.so.1, libzip.so.1.0.0과 같은 파일이 포함되어 있지만 하드 드라이브에서 ao.pc, hunspell.pc 또는 libzip.pc라는 이름의 파일을 찾을 수 없습니다.
여기에 누락된 조언이 있나요?
감사해요.
답변1
사용자 라이브러리를 설치했지만 개발자 라이브러리와 헤더 파일도 설치해야 합니다.
예를 들어 ao
:
일반 사용자 패키지에는 다음 파일이 포함되어 있습니다.
/usr/lib/libao.so.4.0.0
/usr/lib/libao.so.4
개발자 패키지에는 다음 파일이 포함되어 있습니다.
/usr/include/ao/ao.h
/usr/include/ao/os_types.h
/usr/include/ao/plugin.h
/usr/lib/pkgconfig/ao.pc
이것은 당신이 잃어버린 두 번째 파일 세트입니다.
SUSE의 YaST2에 익숙하지 않지만 명령은
yast2 --install libao-devel
.
물론 다른 패키지도 마찬가지다.
설치하려는 RPM의 이름을 다시 확인하는 한 가지 방법은 다음으로 이동하는 것입니다.rpmfind.net누락된 파일 이름 중 하나를 붙여넣으면 다음과 같은 결과가 /usr/lib/pkgconfig/ao.pc
나타납니다 .RPM 목록: OpenSUSE 11.3을 찾아 실행 시 해당 이름을 사용합니다 yast2 --install
.
고쳐 쓰다
~에 따르면zypper를 사용하여 파일이 포함된 패키지 확인, rpmfind.net을 사용하지 않고도 사용할 수 있습니다 zypper
.
이 시도:
zypper wp ao.pc
(테스트되지 않음)
.spec
또한 RPM 기반 시스템에서는 RPM 파일을 검색하여 빌드하는 것이 가장 좋습니다 .
내가 하나 찾았어포커스라이터 사양 파일OpenSUSE 웹사이트에서.
그런 다음 를 사용하여 빌드하는 경우 rpmbuild
빌드할 수 있도록 아직 설치해야 하는 패키지를 알려주는 오류가 표시됩니다.
이는 또한 SUSE의 권장 빌드 옵션을 사용하여 쉽게 설치, 업그레이드 및 제거할 수 있는 RPM을 제공한다는 장점이 있습니다.