IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Cross compiler un module python (py-spidev)


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Cross compiler un module python (py-spidev)
    Bonjour,

    Je travail sous linux (Ubuntu 64 bits 14.04.1) pour cross compiler tout un noyau linux pour une carte ARM9.

    Sur cette carte, j'ai besoin du module py-spidev, j'essaye donc de le cross compiler aussi de la manière suivante :

    git clone https://github.com/doceme/py-spidev
    cd py-spidev
    export PATH=$PATH:"Chemin_vers_mon_cross_compilateur"
    export ARCH=arm
    export CROSS_COMPILE=arm-none-linux-gnueabi-
    python setup.py install --prefix=~/

    Mais le module spidev_module.c est compilé avec x86_64-linux-gnu-gcc et pas mon cross-compilateur (arm-poky-linux-gnueabi-gcc).

    Comment puis-je forcer python setup.py install d'utiliser mon cross compilateur ?

    Un grand merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Citation Envoyé par damgot Voir le message
    Comment puis-je forcer python setup.py install d'utiliser mon cross compilateur ?
    export CC=... comme pour le reste.

    - W

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour cette réponse, mais j'ai toujours la même erreur en ajoutant export CC=

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    gwio@gwio-VirtualBox:~/GWio_Root/py-spidev$ python setup.py install --prefix=~/
    running install
    running build
    running build_ext
    building 'spidev' extension
    arm-poky-linux-gnueabi-gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/src/linux/include -I/usr/include/python2.7 -c spidev_module.c -o build/temp.linux-x86_64-2.7/spidev_module.o
    cc1: warning: include location "/usr/include/python2.7" is unsafe for cross-compilation [-Wpoison-system-directories]
    In file included from /usr/include/python2.7/Python.h:8:0,
                     from spidev_module.c:20:
    /usr/include/python2.7/pyconfig.h:15:52: fatal error: arm-linux-gnueabi/python2.7/pyconfig.h: No such file or directory
     #  include <arm-linux-gnueabi/python2.7/pyconfig.h>
                                                        ^
    compilation terminated.
    error: command 'arm-poky-linux-gnueabi-gcc' failed with exit status 1
    Avez-vous une idée de résolution ?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé la solution, je la poste donc ici pour ceux qui en aurait besoin.

    Voilà ce j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    git clone https://github.com/doceme/py-spidev
    cd py-spidev
    export ARCH=arm
    PLAT=arm-poky-linux-gnueabi-
    export CROSS_COMPILE=arm-poky-linux-gnueabi-
    export PATH=$PATH:"Path_to_my_cross_compiler"
    export CC="${PLAT}gcc -pthread"
    export LDSHARED="${CC} -shared"
    export CROSSBASE="Path of destination"
    export CFLAGS="-I "path to python cross compiled include" -I${CROSSBASE}/usr/include"
    export LDFLAGS="-L "path to python cross compiled libs" -L${CROSSBASE}/lib -L${CROSSBASE}/usr/lib"
    python setup.py install --prefix=CROSSBASE
    Enjoy

Discussions similaires

  1. cross compilation d'extension ecrite en c pour python
    Par nano3000 dans le forum Général Python
    Réponses: 1
    Dernier message: 03/05/2015, 19h05
  2. [pyinstaller] comment compiler un environnement python incluant des import de modules
    Par stefan.oyen dans le forum Déploiement/Installation
    Réponses: 3
    Dernier message: 28/04/2011, 14h02
  3. Cross-Compilation de module
    Par makia42 dans le forum Linux
    Réponses: 3
    Dernier message: 14/01/2011, 02h18
  4. Compilation avec Visual C++ 2005 Express pour avoir un module python
    Par Freyja dans le forum Déploiement/Installation
    Réponses: 6
    Dernier message: 13/07/2006, 13h12
  5. probleme apache+module python sous windows
    Par gaussprodada dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 02/11/2004, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo