2013-08-27 5 views
5

Многие make-файлы используют pkg-config, но имена не относятся к менеджерам пакетов (например, yum/apt). Как сопоставить имена pkg-config с ними? есть трюк?Как сопоставить имена pkg-config с yum/apt-get

Пример: если я yum searchName - просмотреть имя и приблизиться к PKG-CONFIG имя в

Результат:

$ 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 

ответ

1

файлы PKG-конфигурации, как правило, предоставленный -devel пакет, так в большинстве случаев foo.pc предоставляется libfoo-devel. Это все еще догадки, но есть два сочетания:

Установка по имени пути, если вы знаете, где .pc файл будет в конечном итоге

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

Это работает для любого файла, но вам все равно нужно угадать, где файл .pc. Наилучший подход является использование фактического требования pkg-config:

$> yum install "pkgconfig(foo)" 

Используйте кавычки, чтобы избежать оболочек пытается интерпретировать скобку.

3

В случае APT-получить, если у вас есть программное обеспечение, говорящее об этом отсутствующем пакете через PKG-конфигурацию, например:

 
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 

Тогда это означает, что настроечный скрипт ищет gtk+-2.0 пакет pkgconfig.

Тогда, что вы можете сделать это:

 
$ 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 

Что означает, что вы можете установить пакет, libgtk2.0-DEV:

sudo apt-get install libgtk2.0-dev 

И зависимость будет удовлетворено.

В частном случае первоначального вопроса: (. DBus-бойкий-0, кажется, слишком стар, чтобы показать в моей системе)

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

 Смежные вопросы

  • Нет связанных вопросов^_^