1 votes

GCC ne trouve pas le paquet libusb-dev

Essai de compilation de pymini, Logiciel Eckler sur RPI3, Ubuntu Mate 16.04 J'obtiens la sortie suivante de ./configure avec une erreur : configure : error : cannot find libusb-devel 1.0 support

tim@tim-desktop:~/pymini-1.16$ ./configure

    checking build system type... armv7l-unknown-linux-gnueabi
    checking host system type... armv7l-unknown-linux-gnueabi
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables... 
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking for a BSD-compatible install... /usr/bin/install -c
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking "for canonical host"... "Linux/Unix"
    checking for mini build... yes
    checking for pow in -lm... yes
    checking pthread.h usability... yes
    checking pthread.h presence... yes
    checking for pthread.h... yes
    checking libusb.h usability... no
    checking libusb.h presence... no
    checking for libusb.h... no
    configure: error: cannot find libusb-devel 1.0

J'ai installé libusb-dev et j'ai relancé configure et configure a échoué à nouveau avec la même erreur J'ai installé libusb-1.0-0-dev et j'ai relancé configure et configure a de nouveau échoué avec la même erreur J'ai alors fait un peu de goole serching et j'ai essayé une petite investigation sur l'installation de libusb avec les commandes suivantes

sudo dpkg -L libusb-1.0-0-dev

     /.
     /usr
     /usr/lib
     /usr/lib/arm-linux-gnueabihf
     /usr/lib/arm-linux-gnueabihf/pkgconfig
     /usr/lib/arm-linux-gnueabihf/pkgconfig/libusb-1.0.pc
     /usr/lib/arm-linux-gnueabihf/libusb-1.0.a
     /usr/include
     /usr/include/libusb-1.0
     /usr/include/libusb-1.0/libusb.h
     /usr/share
     /usr/share/doc
     /usr/share/doc/libusb-1.0-0-dev
     /usr/share/doc/libusb-1.0-0-dev/copyright
     /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
     /usr/share/doc/libusb-1.0-0-dev/README
     /usr/share/doc/libusb-1.0-0-dev/changelog.Debian.gz

Et aussi :

sudo dpkg -L libusb-dev

    /.
    /usr
    /usr/include
    /usr/include/usb.h
    /usr/bin
    /usr/bin/libusb-config
    /usr/share
    /usr/share/doc-base
    /usr/share/doc-base/libusb-dev
    /usr/share/man
    /usr/share/man/man1
    /usr/share/man/man1/libusb-config.1.gz
    /usr/share/doc
    /usr/share/doc/libusb-dev
    /usr/share/doc/libusb-dev/copyright
    /usr/share/doc/libusb-dev/html
    /usr/share/doc/libusb-dev/html/api-return-values.html
    /usr/share/doc/libusb-dev/html/ref.core.html
    /usr/share/doc/libusb-dev/html/api-synchronous.html
    /usr/share/doc/libusb-dev/html/intro-overview.html
    /usr/share/doc/libusb-dev/html/api-timeouts.html
    /usr/share/doc/libusb-dev/html/preface.html
    /usr/share/doc/libusb-dev/html/function.usbsetaltinterface.html
    /usr/share/doc/libusb-dev/html/ref.deviceops.html
    /usr/share/doc/libusb-dev/html/function.usbcontrolmsg.html
    /usr/share/doc/libusb-dev/html/api.html
    /usr/share/doc/libusb-dev/html/ref.control.html
    /usr/share/doc/libusb-dev/html/function.usbbulkwrite.html
    /usr/share/doc/libusb-dev/html/api-device-interfaces.html
    /usr/share/doc/libusb-dev/html/intro.html
    /usr/share/doc/libusb-dev/html/ref.bulk.html
    /usr/share/doc/libusb-dev/html/ref.interrupt.html
    /usr/share/doc/libusb-dev/html/examples.html
    /usr/share/doc/libusb-dev/html/function.usbclaiminterface.html
    /usr/share/doc/libusb-dev/html/function.usbclose.html
    /usr/share/doc/libusb-dev/html/examples-other.html
    /usr/share/doc/libusb-dev/html/function.usbresetep.html
    /usr/share/doc/libusb-dev/html/api-types.html
    /usr/share/doc/libusb-dev/html/function.usbfinddevices.html
    /usr/share/doc/libusb-dev/html/function.usbdetachkerneldrivernp.html
    /usr/share/doc/libusb-dev/html/function.usbgetdescriptor.html       
    /usr/share/doc/libusb-dev/html/intro-support.html
    /usr/share/doc/libusb-dev/htm/function.usbgetdescriptorbyendpoint.html
    /usr/share/doc/libusb-dev/html/function.usbclearhalt.html
    /usr/share/doc/libusb-dev/html/function.usbgetdrivernp.html
    /usr/share/doc/libusb-dev/html/index.html
    /usr/share/doc/libusb-dev/html/function.usbopen.html
    /usr/share/doc/libusb-dev/html/function.usbinterruptread.html
    /usr/share/doc/libusb-dev/html/ref.nonportable.html
    /usr/share/doc/libusb-dev/html/functions.html
    /usr/share/doc/libusb-dev/html/function.usbfindbusses.html
    /usr/share/doc/libusb-dev/html/function.usbinterruptwrite.html
    /usr/share/doc/libusb-dev/html/examples-tests.html
    /usr/share/doc/libusb-dev/html/function.usbgetstring.html
    /usr/share/doc/libusb-dev/html/function.usbbulkread.html
    /usr/share/doc/libusb-dev/html/function.usbgetstringsimple.html
    /usr/share/doc/libusb-dev/html/examples-code.html
    /usr/share/doc/libusb-dev/html/function.usbreleaseinterface.html
    /usr/share/doc/libusb-dev/html/function.usbgetbusses.html
    /usr/share/doc/libusb-dev/html/function.usbsetconfiguration.html
    /usr/share/doc/libusb-dev/html/function.usbreset.html
    /usr/share/doc/libusb-dev/html/function.usbinit.html
    /usr/lib
    /usr/lib/arm-linux-gnueabihf
    /usr/lib/arm-linux-gnueabihf/pkgconfig
    /usr/lib/arm-linux-gnueabihf/pkgconfig/libusb.pc
    /usr/lib/arm-linux-gnueabihf/libusb.so
    /usr/lib/arm-linux-gnueabihf/libusb.a
    /usr/share/doc/libusb-dev/changelog.Debian.gz

puis j'ai essayé :

pkg-config --cflags --libs /usr/lib/arm-linux-gnueabihf/pkgconfig/libusb-1.0.pc

puis réexécutez configure et il échoue avec la même erreur j'ai donc également essayé :

pkg-config --cflags --libs /usr/lib/arm-linux-gnueabihf/pkgconfig/libusb.pc

puis réexécutez configure et il échoue avec la même erreur J'ai également exécuté :

`pkg-config --modversion libusb-1.0
    1.0.20
 pkg-config --modversion libusb
    0.1.12 

J'ai ensuite désinstallé libusb-dev en laissant seulement libusb-1.0-0-dev installé. J'ai ensuite réessayé d'exécuter configure avec la même erreur

    configure: error: cannot find libusb-devel 1.0

J'ai ensuite essayé d'ajouter à ~.bashrc

PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib/arm-linux-gnueabihf/pkgconfig/libusb-1.0.pc

Qu'est-ce qui se passe ici, je n'arrive pas à comprendre et j'apprécierais de l'aide.

tjmarch

0voto

llsouder Points 186

Essayer : pkg-config --modversion libusb-dev

Je ne pense pas que pkg-config-path soit une commande. Il existe une variable d'environnement PKG_CONFIG_PATH.

0voto

Luciano Mammino Points 492

Pour une raison étrange, ce paquetage "pymini" n'essaie pas de découvrir le chemin ou d'autres drapeaux de libusb lui-même correctement. Vous devez lui donner des drapeaux supplémentaires pour cela, que vous pouvez voir référencés dans les commentaires de configure.ac

# Notes on compiling on Ubuntu.
#
#     ./configure --prefix=/usr CFLAGS="-g -Wall -I/usr/include/libusb-1.0" CXXFLAGS="-g -Wall -I/usr/include/libusb-1.0" (Ubuntu 12.04)
#
#     make
#     make install

Vous êtes sur la bonne voie. libusb-1.0-0-dev est le paquet dont vous avez besoin (et non libusb-dev, qui est différent), auquel cas les commandes de configure.ac ci-dessus devraient fonctionner telles quelles.

Une version "plus agréable" utilisant pkg-config que vous avez essayé serait quelque chose comme ceci.

pkg-config libusb-1.0 --cflags
./configure --prefix=/usr CFLAGS="$(pkg-config libusb-1.0 --cflags)" CXXFLAGS="$(pkg-config libusb-1.0 --cflags)" 

Normalement, vous devriez également définir LIBS=$(pkg-config libusb-1.0 --libs), mais cela est déjà codé en dur dans ce projet et n'est donc pas nécessaire dans ce cas précis.

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