pkg-config просматривает / usr / local / lib / pkgconfig даже с PKG_CONFIG_PATH, установленным в другое место

Я использую pkg-config для кросс-компиляции проекта на платформу MIPS. Как обычно, я устанавливаю переменную PKG_CONFIG_PATH в каталог, подходящий для целевой платформы (в данном случае что-то вроде / usr / local / mips_sdk / usr / local / lib / pkgconfig, но это не имеет значения).

Странно то, что pkg-config использует файлы .pc из / usr / local / lib / pkgconfig, когда они не найдены в пути, указанном PKG_CONFIG_PATH var. Это похоже на то, что / usr / local / lib / pkgconfig жестко прописан в пути поиска pkg-config.

Это кажется немного странным, потому что он попытается связать системные библиотеки (x86) с моими скомпилированными файлами mips.

Кто-нибудь знает как это решить?

Спасибо большое.


person Marcus    schedule 14.12.2012    source источник


Ответы (1)


Вот как я подхожу к устранению этой проблемы: Выполнить

strace -o makelog -f -ff -v -s 9000 make

Это создаст makelog.<pid> файла для всех процессов, запущенных во время компиляции. С указанными параметрами они будут содержать полный список переменных среды, поэтому вы должны прежде всего иметь возможность следить за PKG_CONFIG_PATH и посмотреть, изменится ли / где он изменится. Вы также можете найти такие вещи, как, например, если /usr/local/lib/pkgconfig читается из какого-то файла конфигурации или нет.

person hlovdal    schedule 05.04.2013
comment
Спасибо большое. Извините, что так долго не отвечаю. Некоторое время назад я нашел решение и забыл вернуться сюда. - person Marcus; 04.12.2013
comment
@Marcus: Долгий выстрел, но ты помнишь, в чем было решение? - person Hashim Aziz; 23.03.2019