Я написал небольшую библиотеку и пытаюсь настроить ее для использования с pkg-config для тех в моей организации, кому может понадобиться использовать ее позже. Поэтому мой установщик помещает файл .p c в / usr / local / lib / pkgconfig, и я недавно обнаружил, что по какой-то причине его нет в списке каталогов по умолчанию, который сканирует pkg-config на наличие p c, несмотря на то, что / usr / local является каноническим префиксом для локально скомпилированного программного обеспечения. Итак, мне нужно добавить / usr / local / lib / pkgconfig в PKG_CONFIG_PATH.
Однако я обнаружил, что, несмотря на утверждения на странице руководства, собственное сообщение об ошибке pkg-config и везде в сети, pkg-config на самом деле не смотрит на PKG_CONFIG_PATH. Сообщение об ошибке говорит мне добавить / usr / local / lib / pkgconfig (который содержит файл .p c, который я ищу) к PKG_CONFIG_PATH, когда я уже ясно сделал это.
[chris@delphinus-a pkgconfig]$ pwd
/usr/local/lib/pkgconfig
[chris@delphinus-a pkgconfig]$ ls
libexample.pc
[chris@delphinus-a pkgconfig]$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
[chris@delphinus-a pkgconfig]$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig
[chris@delphinus-a pkgconfig]$ pkg-config --cflags libexample
Package libexample was not found in the pkg-config search path.
Perhaps you should add the directory containing `libexample.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libexample', required by 'virtual:world', not found
[chris@delphinus-a pkgconfig]$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig
[chris@delphinus-a pkgconfig]$ pkg-config --variable pc_path pkg-config
/usr/lib64/pkgconfig:/usr/share/pkgconfig
[chris@delphinus-a pkgconfig]$ pkg-config --version
1.6.3
Содержимое libexample.p c:
prefix=/usr/local
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include
Name: libexample
Description: example library.
Libs: -L${libdir} -lpthread -ltimeutil -lczmq -lzmq
Cflags: -I${includedir}
Итак, если PKG_CONFIG_PATH действительно переменная окружения, которую мне нужно установить, как мне получить pkg-config для ее фактического использования? Или что еще мне здесь не хватает? Это в Fedora 31, FWIW.