2013-08-27 27 views
5

Rất nhiều makefiles sử dụng cấu hình pkg nhưng tên không liên quan đến người quản lý gói (ví dụ: yum/apt). Làm thế nào để ánh xạ tên pkg-config cho họ? có lừa không?cách ánh xạ tên pkg-config vào yum/apt-get

Ví dụ: nếu tôi làm yum searchName - xem xét thông qua tên và xấp xỉ để pkg-config tên

Kết quả:

$ pkg-config --libs dbus-glib-0 
Package dbus-glib-0 was not found in the pkg-config search path. 
Perhaps you should add the directory containing `dbus-glib-0.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'dbus-glib-0' found 

$ sudo yum install dbus-glib 
Loaded plugins: langpacks, refresh-packagekit 
Package dbus-glib-0.100-5.fc19.i686 already installed and latest version 
Nothing to do 

$ sudo yum install dbus-glib-0 
Loaded plugins: langpacks, refresh-packagekit 
No package dbus-glib-0 available. 
Error: Nothing to do 

Trả lời

1

Các file pkg-config thường được cung cấp bởi các gói -devel nên trong hầu hết các trường hợp, foo.pc được cung cấp bởi libfoo-devel. Con số này vẫn phỏng đoán, nhưng có hai phím tắt:

Cài đặt theo tên đường, nếu bạn biết được nơi các tập tin .pc sẽ kết thúc

$> yum install /usr/lib64/pkgconfig/foo.pc 

rằng làm việc cho bất kỳ tập tin, nhưng bạn vẫn cần phải đoán nơi tệp .pc là. Cách tiếp cận tốt nhất là sử dụng yêu cầu pkgconfig thực tế:

$> yum install "pkgconfig(foo)" 

Sử dụng dấu ngoặc kép để tránh vỏ cố gắng diễn giải dấu ngoặc đơn.

3

Trong trường hợp của apt-get, nếu bạn có một số phần mềm mà phàn nàn về gói mất tích này qua pkg-config, ví dụ:

 
configure: error: Package requirements (gtk+-2.0 >= 2.8) were not met: 

No package 'gtk+-2.0' found 

Consider adjusting the PKG_CONFIG_PATH environment variable if you 
installed software in a non-standard prefix. 

Alternatively, you may set the environment variables GTK_CFLAGS 
and GTK_LIBS to avoid the need to call pkg-config. 
See the pkg-config man page for more details. 
Error: Could not run ./configure, which is required to configure banshee 

Sau đó, nó có nghĩa là kịch bản cấu hình đang tìm kiếm các gtk+-2.0 gói pkgconfig.

Sau đó, những gì bạn có thể làm điều này là:

 
$ sudo apt-get install apt-file 
... 
$ apt-file update 
... 
$ apt-file search gtk+-2.0 | grep "\.pc" 
libgtk2.0-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-2.0.pc 

Có nghĩa là bạn có thể cài đặt gói libgtk2.0-dev:

sudo apt-get install libgtk2.0-dev 

Và sự phụ thuộc sẽ được hài lòng.

Trong trường hợp đặc biệt của câu hỏi ban đầu: (. Dbus-lém lỉnh-0 có vẻ là quá già để hiển thị trong hệ thống của tôi)

$ apt-file search --package-only dbus-glib-1.pc 
libdbus-glib-1-dev 

Các vấn đề liên quan