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

Interfaçage autre langage Python Discussion :

[swig] utilisation de ld sous mac osX tiger.


Sujet :

Interfaçage autre langage Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [swig] utilisation de ld sous mac osX tiger.
    Bonjour,

    Je souhaite utiliser swig sous mac OSX tiger, mais j'obtiens une erreur lors de la création de la librairie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ImportError: dlopen(./_libhello.so, 2): Symbol not found: dyld_stub_binding_helper
      Referenced from: ./_libhello.so
      Expected in: flat namespace
    Je compile avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    swig -python hello.i
    gcc -c hello.c hello_wrap.c -I/usr/include/python2.3
    ld -bundle -flat_namespace -undefined suppress -o _libhello.so hello.o hello_wrap.o
    Si vous avez une ligne de commande fonctionnelle pour la phase ld, je suis preneur ;-)

    Merci d'avance.

    PyBio

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Il me semble que tu te soit trompé de forum lol.
    A part ça je ne peut pas t'aider.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Hi,

    Non bon forum, je cherche à coupler du C et du python via swig :

    ... Visiblement le souci viendrait du fait que sous osX on a pas de .so mais des dynlibs... le problème reste entier car le chargement de la librairie dans python (2.3 au passage) entraine tjs une erreur.

    Idée ?

    Y a peut etre pas bcp de personne qui interface python à d'autre langage

    PyBio.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Ai trouvé la solution sur un wiki...

    Il faut bien sur inclure le Python.h ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    swig -python hello.i 
    PYDIR=/system/Library/Frameworks/Python.framework/Versions/2.3/
    gcc -I $PYDIR/include/python2.3/ -framework Python -bundle -bundle_loader $PYDIR/bin/python hello_wrap.c hello.c -o _libhello.so
    Et ca fonctionne.

    PyBio.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import de PIL sous MAC OSX
    Par polo42 dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 29/03/2009, 14h25
  2. Problème Netbeans sous Mac OSX
    Par brotelle dans le forum NetBeans
    Réponses: 7
    Dernier message: 20/06/2008, 17h48
  3. Coder en C sous Mac OsX
    Par Spanish_Flu dans le forum Choisir un environnement de développement
    Réponses: 7
    Dernier message: 06/12/2006, 00h39
  4. editeur php sous mac OSX
    Par shadowR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/03/2006, 17h57

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