pkg_config_path / lib not found [Réglé]
probleme de compilation
Logiciels / Autres logiciels

thewada Membre non connecté
-
- Voir le profil du membre thewada
- Inscrit le : 25/02/2015
- Groupes :
J'essaye de compiler quelques librairies pour pouvoir programmer des microcontrolleurs AVR.
J'ai un petit hardware pour ça, une carte pololu. Je dois donc compiler les sources pour pouvoir l'utiliser.
Ces sources ont d'abord besoin d'une librairie pour pouvoir utiliser le port usb, elle s'appelle libusbp.
En utilisant cmake, make, et make install, je pensais avoir tout bien fait mais j'ai des erreurs quand je cherche a compiler les librairies du programmeur, apparement il ne trouve pas cette libusbp meme quand je l'ai installé. Donc j'apprécierai un coup de main, notemment sur cette histoire de pkg-config (voir plus bas).
Ce que je fais après avoir dwd les sources de la librairie:
1/ cmake
[thewada@localhost libusbp-1-latest]$ cmake -G"Unix Makefiles"
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/thewada/libusbp-1-latest
2/ make
[thewada@localhost libusbp-1-latest]$ make
Scanning dependencies of target usbp
[ 6%] Building C object src/CMakeFiles/usbp.dir/async_in_pipe.c.o
[ 13%] Building C object src/CMakeFiles/usbp.dir/error.c.o
[ 20%] Building C object src/CMakeFiles/usbp.dir/find_device.c.o
[ 26%] Building C object src/CMakeFiles/usbp.dir/list.c.o
[ 33%] Building C object src/CMakeFiles/usbp.dir/pipe_id.c.o
[ 40%] Building C object src/CMakeFiles/usbp.dir/string.c.o
[ 46%] Building C object src/CMakeFiles/usbp.dir/linux/list_linux.c.o
[ 53%] Building C object src/CMakeFiles/usbp.dir/linux/device_linux.c.o
[ 60%] Building C object src/CMakeFiles/usbp.dir/linux/generic_interface_linux.c.o
[ 66%] Building C object src/CMakeFiles/usbp.dir/linux/generic_handle_linux.c.o
[ 73%] Building C object src/CMakeFiles/usbp.dir/linux/error_linux.c.o
[ 80%] Building C object src/CMakeFiles/usbp.dir/linux/udev_linux.c.o
[ 86%] Building C object src/CMakeFiles/usbp.dir/linux/usbfd_linux.c.o
[ 93%] Building C object src/CMakeFiles/usbp.dir/linux/async_in_transfer_linux.c.o
[100%] Building C object src/CMakeFiles/usbp.dir/linux/serial_port_linux.c.o
Linking C shared library ../libusbp-1.so
[100%] Built target usbp
3/ make install
[root@localhost libusbp-1-latest]# make install
[100%] Built target usbp
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/pkgconfig/libusbp-1.pc
-- Up-to-date: /usr/local/include/libusbp-1/libusbp.h
-- Up-to-date: /usr/local/include/libusbp-1/libusbp.hpp
-- Installing: /usr/local/lib/libusbp-1.so.1.0.1
-- Up-to-date: /usr/local/lib/libusbp-1.so
aucun message d'erreur jusque là, pourtant si je vérifie si usbp-1 est bien installé, j'ai ce problème:
[root@localhost libusbp-1-latest]# pkg-config --cflags libusbp-1
Package libusbp-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusbp-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusbp-1' found
Ce qui m'empêche ensuite de compiler l'autre librairie pour utiliser la carte. Je ne comprend pas cette histoire de pkg_config_path.
Comment je peux rajouter /usr/local/lib/pkgconfig la dedans? vu que c'est là que ce trouve ce 'libusbp-1.pc'. Pourquoi ce n'est pas fait automatiquement aussi? y'a t il un argument a mettre dans make install par ex?
Des liens si vous voulez tester:
https://www.pololu.com/product/3170
https://github.com/pololu/pololu-usb-avr-programmer-v2
https://github.com/pololu/libusbp
Merci d'avance si vous prenez le temps de m'aider.
++

thewada Membre non connecté
-
- Voir le profil du membre thewada
- Inscrit le : 25/02/2015
- Groupes :

J'ai pu trouver une commande pour vérifier où cherchait pkg_config, et effectivement il ne cherchait pas dans mon dossier /usr/local/
où se trouve les dossier include et lib qui m'interessaient, mais dans /usr/lib et /usr/include.
Pour changer le chemin il faut donc faire:
PKG_CONFIG_PATH=chemin/vers/les/libs
on peut séparer differents chemins avec deux points ':'
PKG_CONFIG_PATH=chemin/vers/les/libs:chemin/vers/d'autres/libs
voilou, sujet résolu
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie