116 votes

Variable d'environnement PKG_CONFIG_PATH

Pensez à ajuster la variable d'environnement PKG_CONFIG_PATH si vous installé un logiciel dans un préfixe non standard.

Qu'est-ce que cela signifie ?

7voto

clobrano Points 277

Il me semble que la plupart des réponses contiennent trop d'informations par rapport aux besoins.

Le logiciel que l'on installe peut (et c'est généralement le cas) s'appuyer sur certaines bibliothèques et/ou en-têtes et le système utilise pkg-config pour les trouver.

C'est dit, pkg-config recherche ces fichiers dans les répertoires prédéfinis (par défaut) du système. Ces répertoires sont des "préfixes". Par exemple, une bibliothèque qui a le préfixe /usr/local est censé avoir des en-têtes dans /usr/local/include et la bibliothèque elle-même sera en /usr/local/lib . pkg-config recherche cependant les bibliothèques également dans les répertoires listés dans la variable d'environnement PKG_CONFIG_PATH .

Ensuite, si vous installez un logiciel en dehors de la liste de dossiers par défaut, vous devez "ajuster" la liste, c'est-à-dire ajouter vos répertoires à PKG_CONFIG_PATH.

$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:<your-directory>

Pour plus d'informations, vous pouvez consulter aquí y aquí

1voto

lak-b Points 764

Cela signifie que vous essayez de construire quelque chose à partir des sources, et qu'il ne peut pas trouver toutes les dépendances dont il a besoin. Le site pkg-config script qu'il utilise pour trouver les fichiers de développement pour ces bibliothèques, sort ce message.

0voto

Shayan Points 1149

J'essayais d'installer la dernière version de axel et j'ai couru ./configure et j'ai eu ça :

configure: error: Package requirements (openssl) were not met:

No package 'openssl' 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 SSL_CFLAGS
and SSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Alors j'ai essayé :

$ pkg-config --cflags openssl

et j'ai eu :

Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'openssl' found

Comme il est évident que j'avais installé openssl ( sudo apt-get install openssl ) Mais sur la sortie ci-dessus, comme vous pouvez le voir, il est indiqué "Aucun paquet 'openssl' trouvé". Donc pour être sûr je l'ai fait :

find / -type f -name "*.pc" |& grep -iv permission | grep openssl

Il s'avère que j'ai besoin d'un autre paquet, c'est sûr, alors j'ai fait un peu de recherche sur Internet et j'ai trouvé que je devais installer ce paquet :

sudo apt-get install libssl-dev

Et tout cela n'a rien à voir avec la modification de la variable env. path de pkg-config.

0voto

shotu Points 1

Ceux qui utilisent https://github.com/confluentinc/confluent-kafka-go

Veuillez suivre le installation de librdkafka

  1. clone git https://github.com/edenhill/librdkafka.git
  2. cd librdkafka
  3. ./configure --prefix /usr
  4. faire
  5. sudo make install

Maintenant vous pouvez utiliser go install/ go run go build

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X