2010-09-25 1 views
3

J'ai besoin de compiler une distribution 32 bits de PyEphem. Il ne semble pas que cela devrait être difficile, cependant, je suis confronté à des problèmes de compilateur.Comment construire une distribution de module Python 32 bits w/Setup.py sur l'hôte x86_64

$ CFLAGS=-m32 python setup.py bdist -p i386 
running bdist 
running bdist_dumb 
running build 
running build_py 
running build_ext 
building 'ephem._libastro' extension 
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -m32 -fPIC -Ilibastro-3.7.3 -I/usr/include/python2.6 -c extensions/_libastro.c -o build/temp.linux-x86_64-2.6/extensions/_libastro.o 
In file included from /usr/include/python2.6/Python.h:58, 
       from extensions/_libastro.c:3: 
/usr/include/python2.6/pyport.h:685:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." 
error: command 'gcc' failed with exit status 1 

Le système de compilation exécute Ubuntu 10.04. Les fichiers d'en-tête python sont-ils liés à l'architecture des hôtes locaux? J'ai trouvé des informations intéressantes sur Python cross-compiling.

Répondre

1

Avez-vous installé un python 32 bits sur votre machine? Je pense que cela devrait être OK si vous l'exécutez à partir de python 32 bits, et assurez-vous que vous faites un lien vers le bon python.h.

Je n'ai jamais essayé de compiler sous Linux, mais j'ai compilé avec différents pythons installés côte à côte sur Windows 64 bits. Ensuite, bien sûr, il y a l'option nucléaire d'installer une VM 32 bits et de compiler à partir de là.

Questions connexes