7

У меня есть несколько библиотек, установленных с помощью homebrew, но я не знаю, как правильно получить их в пути поиска pkg-config. Сейчас у меня есть

export PKG_CONFIG_PATH=$(find /usr/local/Cellar -name 'pkgconfig' -type d | grep lib/pkgconfig | tr '\n' ':' | sed s/.$//)

Это работает нормально, но замедляет время запуска оболочки, которое теперь занимает около 2 секунд. Я уверен, что есть лучший способ, встроенный в доморощенный, но я не могу найти его в документации.

2 ответа2

5

Преобразуйте find в статический список с двоеточием : разделенный список PKG_CONFIG_PATH, чтобы сократить время запуска.

Шаг 1. Запустите pkg-config --list-all чтобы определить, какие пакеты уже известны

pkg-config --list-all

# tidy         tidy - tidy - HTML syntax checker
# tesseract    tesseract - An OCR Engine
# …    

Шаг 2. Запустите find чтобы определить pkgconfig , содержащие файлы * .pc.

# long form `find`
find /usr/local/Cellar -name 'pkgconfig' -type d | grep lib/pkgconfig | tr '\n' ':' | sed s/.$//)

# short form `find`
find / -name "pkgconfig" -print

# /usr/local/Cellar/abc/0.1.5/lib/pkgconfig:…/usr/local/Cellar/xyz/2.6/lib/pkgconfig

Шаг 3. Добавьте интересующие библиотеки путей, которые еще не обнаруживаются pkg-config, в PKG_CONFIG_PATH.

export PKG_CONFIG_PATH=/usr/local/Cellar/abc/0.1.5/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/Cellar/abc/0.1.5/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/my/build/from/source/mmmm/0.1.5/lib/pkgconfig
0

У меня была похожая проблема в Mac Mojave, поскольку /usr/include ушла под Xcode 10, и вам нужно установить отдельный пакет, чтобы вернуть его.

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

источник: https://github.com/r-lib/xml2/issues/232

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .