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 :

Python compilation problemes pour ARM systemes


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut Python compilation problemes pour ARM systemes
    Bonjour,

    Je suis en train de compiler une version de python 2.6.8 pour ARM systemes avec VS2012 et j'ai des problemes de compilation sur le module "_ctypes".
    Les problemes de compile sont:

    1>------ Build started: Project: _ctypes, Configuration: Release ARM ------
    1> _ctypes.c
    1> callbacks.c
    1>..\Modules\_ctypes\callbacks.c(441): error C2065: 'FFI_STDCALL' : undeclared identifier
    1> callproc.c
    1> cfield.c
    1> ffi.c
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(113): warning C4018: '>' : signed/unsigned mismatch
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(218): error C2065: 'FFI_STDCALL' : undeclared identifier
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(218): error C2051: case expression not constant
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(285): error C4235: nonstandard extension used : '_asm' keyword not supported on this architecture
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(285): error C2065: 'mov' : undeclared identifier
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(285): error C2146: syntax error : missing ';' before identifier 'eax'
    1>..\Modules\_ctypes\libffi_msvc\ffi.c(285): error C2065: 'eax' : undeclared identifier

    J'aimerai savoir si qq peut m'aider a resoudre ces problemes ?

    Par avance, merci de votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Les VS sont des plaies pour les programmeurs*! D’après la doc officielle, les versions de python antérieures à la 3.3 (donc les 2.x incluses) utilisent VS2008, et à partir de la 3.3, c’est VS2010…

    Et la VS2012 semble, comme de coutume, introduire un certain nombre de changements incompatibles avec les version précédentes, donc bon courage pour compiler un py2.6 dessus*!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Merci de votre aide.
    En fait, je suis arrive a presque tout compiler mais je bute sur le "_ctypes" module et j'ai besoin de la version 2012 car c'est la seule a pouvoir compiler en ARM system. Toutes les versions anterieures ne supportent pas.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,
    Le nom du répertoire "libffi_msvc" raconte 2 choses:
    • libffi: une librairie opensource qui réalise "Foreign Function Interface". C'est un "calling standard" qui permet d'appeler une fonction d'un langage à partir d'un autre langage. Elle est utilisée par le module ctypes de CPython mais aussi par d'autres codes.
    • msvc: l'adaptation de libffi côté Python pour pouvoir utiliser VS comme compilateur.

    Ce "calling standard" est de bas niveau: on gère les registres du CPU d'où les _asm avec des MOV et des EAX pour effectuer le passage de paramètre et les points d'entrées/retour.

    Comme les branches Python VS compilent pour un target Windows X86 32 ou 64 bits, les "switches" qui permettraient de générer le code spécifique à l'ARM ne sont sans doute pas dans la branche "libffi_msvc".
    note: on devrait pouvoir compiler Python pour ARM mais pour winRT c'est une autre question.

    Euh... pourquoi voulez vous faire çà?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Salut,

    Merci pour la reponse.
    En fait dans le dir Module/_ctypes de Python il existe aussi une Lid ffi "libffi_arm_wince", je pointe bien dessus pour le C++ preprocessor mais j'ai les memes problemes.
    Si j'ai bien compris pour x86 c'est le dir "libffi_msvc" qu'il faut utiliser et pour ARM (WinRT) c'est sur "libffi_arm_wince".
    En fait j'ai besoin de porter Python sur WinRT (ARM).

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 740
    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 740
    Par défaut
    Salut,
    Citation Envoyé par gilles06 Voir le message
    En fait j'ai besoin de porter Python sur WinRT (ARM).
    WinRT n'est pas Win32, comme ce ne sont pas les mêmes API: le résultat ne sera pas utilisable sans recoder "au dessus" de WinRT.
    Google raconte que certains ont fait une partie du boulot pour 3.3.
    Est ce que c'est exploitable? Je vous laisse faire le boulot de recherche et d'évaluation.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Comment compiler Tcl pour ARM
    Par gilles06 dans le forum Tcl/Tk
    Réponses: 0
    Dernier message: 13/11/2013, 16h08
  2. Cross-compilation openssl pour arm
    Par manticore dans le forum Linux
    Réponses: 3
    Dernier message: 06/08/2012, 13h27
  3. [Free Pascal] Compilation croisée pour ARM
    Par Seb2000 dans le forum Free Pascal
    Réponses: 0
    Dernier message: 10/11/2009, 15h41
  4. compilation : probleme pour trouver la bibliotheque
    Par italiasky dans le forum Général Java
    Réponses: 2
    Dernier message: 17/09/2008, 20h00
  5. probleme pour un jeu de dames en python
    Par doudou152 dans le forum Général Python
    Réponses: 7
    Dernier message: 22/04/2005, 14h53

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