2017-02-10 5 views
0

Lorsque j'effectue la commandeOù sont définies les cibles pkg-config?

pkg-config --variable pc_path pkg-config 

La sortie est

/usr/lib64/pkgconfig:/usr/share/pkgconfig

Cependant, il y a deux autres pkgconfig répertoires sur mon système: /usr/lib/pkgconfig et /usr/local/lib/pkgconfig

Si j'essaye

echo $PKG_CONFIG_PATH 

le résultat est

Undefined variable de

J'ai aussi essayé de

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 

mais la réponse a été

export: Commande non trouvée.

Maintenant, j'ai construit Gstreamer à plusieurs reprises et il mettra les fichiers de métadonnées (GStreamer-1.0.pc) dans l'autre dossier pkgconfig (usr/local/lib/pkgconfig). (J'ai été capable de surmonter ce problème en modifiant le fichier configure, en changeant lib à lib64 à la définition de libdir.) Mais je préférerais comprendre mon système plutôt que d'essayer des solutions de rechange. Donc, deux questions: où le programme pkg-config obtient-il ses répertoires cibles?

Et pourquoi et comment les fichiers de métadonnées sont-ils placés dans un répertoire qui n'est apparemment pas indiqué par le programme pkg-config?

+0

Merci à @Grisha Levit pour modifier ma question très mal présentée. Aucune des réponses données ne répond réellement à mes deux questions bien que j'apprécie l'effort pour me trouver une solution. – jackson80

Répondre

0

Depuis la commande ne fonctionne pas parce que la variable n'a pas été présente d'abord vérifier cette variable est là ou non pour faire cette execute commande env root @ localhost:/etc/apt # env si le chemin est ne pas déclarer dans env faire quelque chose comme

root @ localhost:/etc/apt # PKG_CONFIG_PATH =/usr/local/lib/pkgconfig root @ localhost:/etc/apt # export PKG_CONFIG_PATH root @ localhost:/etc/apt # echo $ PKG_CONFIG_PATH /usr/local/lib/pkgconfig root @ localhost:/et c/apt # env

Espérons que cela fonctionnera pour vous pour toute aide s'il vous plaît afficher les requêtes avec l'erreur

+0

J'ai découvert que ma commande d'exportation ne fonctionnait pas parce que j'utilisais tsch. Si je passe à bash, je peux utiliser l'export. – jackson80

0

Lorsque vous installez un package foo, package foo a un foo.pc approprié qui est installé dans le les répertoires pkgconfig par défaut. Si un paquet place son fichier * .pc dans un emplacement personnalisé, comme vous le savez déjà, vous devez définir votre PKG_CONFIG_PATH en conséquence. Ainsi, pkg-config ne se contentera pas de regarder dans les répertoires par défaut, mais aussi dans le chemin personnalisé que vous avez spécifié dans PKG_CONFIG_PATH.Ce guide explique bien:

pkg-config guide