Coisas em /usr/local geralmente substituem o material em /usr , então estou um pouco confuso sobre o porquê de você instalar bibliotecas lá para ter uma "boa distro personalizada", mas então não quer compilar com elas. Essas são as bibliotecas que o sistema usará para usar.
De qualquer forma, man pkg-config reivindica o caminho de pesquisa de base:
is libdir/pkgconfig:datadir/pkgconfig where libdir is the libdir for pkg-config and datadir is the datadir for pkg-config when it was installed.
Isto implica que eles são compilados. Eu percebo que é diferente no Ubuntu do que no fedora - o primeiro é longo e inclusivo, enquanto o último é curto e exclusivo; no fedora eu tenho que definir um $PKG_CONFIG_PATH para incluir /usr/local .
Como os caminhos em $PKG_CONFIG_PATH são verificados primeiro , você pode definir:
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
O fato de estarem no final dos caminhos embutidos não importará; se o cheque chegar lá sem encontrar nada, não há nada a ser encontrado.
Para demonstrar como isso funciona, crie um diretório temporário /opt/bs/pkg e copie um arquivo .pc de um dos diretórios no caminho padrão para ele - por exemplo, alsa.pc . Primeiro cheque;
> pkg-config --libs alsa
-lasound
Agora, vá para /opt/bs/pkg/alsa.pc e altere -lasound (está no campo Libs: ) para -foobar . Defina $PKG_CONFIG_PATH e tente novamente:
> PKG_CONFIG_PATH=/opt/bs/pkg pkg-config --libs alsa
-foobar
Eureka, $PKG_CONFIG_PATH anulou os caminhos incorporados ... você pode excluir /opt/bs/pkg , é claro.