4

我需要编译PyEphem的 32 位发行版。看起来这应该不难,但是,我遇到了一些编译器问题。

$ 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 交叉编译的有趣信息。

4

1 回答 1

1

你的机器上安装了 32 位的 python 吗?我认为如果你从 32 位 python 运行它应该没问题,并确保你链接到正确的 python.h。

我从未尝试在 Linux 上进行交叉编译,但我已经针对 64 位 Windows 上并排安装的不同 python 进行了编译。

当然,还有安装 32 位 VM 并从那里编译的核选项。

于 2010-09-25T05:04:13.573 回答