Как создать 32-битный дистрибутив модуля Python с Setup.py на хосте x86_64 - PullRequest
3 голосов
/ 25 сентября 2010

Мне нужно скомпилировать 32-битное распределение PyEphem . Не похоже, что это должно быть сложно, однако я сталкиваюсь с некоторыми проблемами с компилятором.

$ 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

Система сборки работает под управлением Ubuntu 10.04. Связаны ли заголовочные файлы python с архитектурой локальных хостов?

Обновление: Я нашел интересную информацию о Кросс-компиляции Python .

1 Ответ

1 голос
/ 25 сентября 2010

Вы установили 32-битный питон на свою машину? Я думаю, что все будет в порядке, если вы запустите его из 32-битного Python и убедитесь, что вы ссылаетесь на правильный python.h.

Я никогда не пытался кросс-компилировать в Linux, но я компилировал для разных питонов, установленных бок о бок в 64-битной Windows.

Тогда, конечно, есть ядерная опция установки 32-битной виртуальной машины и компиляции оттуда.

...