如何在 x86_64 主机上使用 Setup.py 构建 32 位 Python 模块分发版

2024-04-01

我需要编译一个 32 位发行版PyEphem http://rhodesmill.org/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 头文件是否与本地主机的体系结构相关?

Update:我发现了一些有趣的信息Python交叉编译 http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/.


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 x86_64 主机上使用 Setup.py 构建 32 位 Python 模块分发版 的相关文章

随机推荐

  • 如何使用 WriteEndElement 检查元素的名称

    我正在写 xmlXmlWriter http msdn microsoft com en gb library system xml xmlwriter aspx 我的代码有很多这样的部分 xml WriteStartElement pay
  • Kafka Consumer Group Id 和消费者重新平衡问题

    我正在使用卡夫卡0 10 0和动物园管理员3 4 6在我的生产服务器中 我有 20 个主题 每个主题大约有 50 个分区 我总共有 100 个消费者 每个消费者订阅了不同的主题和分区 所有消费者都具有相同的 groupId 那么 如果针对特
  • Final 字段和匿名类

    我仍然对有关匿名类和最终字段的解释不满意 有大量问题试图解释明显的问题 但我还没有找到所有问题的答案 假设以下代码 public void method final int i int j final int z 6 final int x
  • 如何在 SearchView/Widget 调用的搜索过程中传递额外的变量?

    我成功地使用操作栏中的搜索小部件来执行以下搜索本指南 http developer android com guide topics search search dialog html 搜索很好 但我想知道如何在搜索中传递其他变量 同一个指
  • PHP 中的类未注册错误

    我们创建了一个 C 类库程序集 并将其设置为 COM 可见 以便能够从 PHP 调用其方法 这曾经运行良好 但现在我们想将其安装在 Windows Server 2008 服务器上 并且不断遇到 类未注册 错误 为了排除任何依赖性问题 我用
  • 有没有一种简单的方法可以用 Pygame 制作和保存动画?

    我制作了一个非常简单的分形生成器 可以打印出每个步骤 我想把它放在我所做的演示中 我用来制作演示的工具显然不支持 pygame 有什么方法可以将其保存为视频吗 最好是动画 gif 等 http visvis googlecode com h
  • 让 CMake 将生成的二进制文件与资产一起放入特定的目录结构中

    我的项目的目录结构基本如下 root src 根 资产 根 库 我目前已将 CMake 设置为编译源代码 编译库 然后通过从根目录调用 make 来链接它们 然后 我必须手动将可执行文件移动到原始资产目 录中以使其运行 因为这是它期望的位置
  • params.getBehaviour() 返回空值

    我正在玩新的 Android 设计库 CollapsingToolbarLayout 工作得很好 但是 我无法将工具栏的默认状态设置为 折叠 我正在尝试实施所示的解决方案here https stackoverflow com questi
  • 无法确定表达式错误的序列化信息

    我得到一个Unable to determine the serialization information for the expression PlaceManager pm gt pm FreePlaces get Item inde
  • 在 Jetty WebAppContext 之间实现 SSO

    我正在开发的 Jetty 9 应用程序会自动扫描一组 JarFiles 中的 web xml 然后以编程方式将包含的 Web 应用程序导入为 WebAppContext 我需要在各个 Web 应用程序之间实现单点登录 如以下 Jetty 6
  • 在Java中编码base64并在C#中解码

    我在java和c 之间遇到了base64问题 我从java urlconnection发送编码字符串到asp net处理程序 我比较两个字符串 在java中从字节数组生成的字符串和在asp net第一次解码中接收的字符串相同 但解码后 c
  • 从套接字到套接字的零分配复制

    假设我们有一个套接字连接 我们称其为c1 我们接受消息的地方 我们还有 N 个其他套接字连接 我们将写入完全相同的消息 为了确定我们希望它写入哪个连接 我们只需要读取其中的前几个字节c1 但是套接字上剩余的字节不需要加载到java堆中 只需
  • Javascript 解密 aes-gcm 不起作用,但在 Python 中它可以工作

    我想将一个小型 python 库移植到 JavaScript 在 Node JS 中运行 我收到一条加密消息 初始化向量和密钥 在 python3 中 这些是导入 from cryptography hazmat primitives ci
  • java中的多播

    我正在尝试编写一个简单的多播试验 我使用了标准代码 发送者和接收者 我尝试了一些不同的标准代码 看来接收代码停留在接收状态 就好像没有接收到任何东西一样 接收端 byte b new byte 3 DatagramPacket dgram
  • WCF DataContract 与 DataContract 接口

    WCF 新手 DataContact类可以继承Interface吗 eg DataContract Namespace public class VesselSequence IVesselSequence DataMember publi
  • 使用 Gattle 向 ActiveMQ 发布消息

    我一直在使用Gatling将消息发布到 ActiveMq 服务器 我明白了 java lang SecurityException 无效的用户名 null 或空 不过我使用有效的用户名和密码 这是我的测试代码 抛出了异常 任何有关如何解决此
  • 如何使用Imagick合并和遮罩图像?

    我对图像处理知之甚少 对所使用的术语更是知之甚少 所以请耐心等待 Basically I want to merge two images together where one of them will act as a mask That
  • 如何重置 VisualTreeHelper.GetDpi() 以返回真实的 DPI?

    在 WPF 应用程序中VisualTreeHelper GetDpi 启动应用程序时获取 dpi 即使用户同时在 设置 gt 显示 中更改了 dpi 后续调用也会返回相同的值 我怎样才能 重置 dpiVisualTreeHelper Get
  • 模板意大利面条

    请解释一下那块令人困惑的模板意大利面条 template
  • 如何在 x86_64 主机上使用 Setup.py 构建 32 位 Python 模块分发版

    我需要编译一个 32 位发行版PyEphem http rhodesmill org pyephem 这似乎并不困难 但是 我遇到了一些编译器问题 CFLAGS m32 python setup py bdist p i386 runnin