首页 > 解决方案 > 在 ARM 系统上加载共享库时出现“意外的 reloc 类型 0x03”

问题描述

我正在尝试在 Raspbian 上编译一个共享库(igraph),它将用作另一个程序的“插件”(具体来说,它将扩展Mathematica,但我认为这与问题无关)。

这个库可以用GLPK编译,以提高某些操作的性能。没有 GLPK,一切正常。但是当我包含 GLPK 并尝试将我的共享库加载到主机应用程序中时,我得到了错误:

unexpected reloc type 0x03

我正在寻找可以帮助我找到此错误原因并消除它的提示。

一些谷歌搜索把我带到了这个线程,这表明问题可能是不是所有的东西都是用编译的-fPIC。我仔细检查了我确实用-fPIC. 在 GLPK 的情况下,我通过传递--with-pic给配置脚本来实现这一点。

还有什么可能导致此错误?

我正在寻找可以帮助我调试的提示。在 Raspberry Pi 上调试很痛苦,因为编译项目需要数小时。

(注意:在 x86_64 Linux 上,我以相同的方式编译项目并且没有问题。因此我假设这必须至少是 ARM 特定的。)


注意:这最初发布在RPi.SE上,但根本没有受到关注。

标签: clinuxraspberry-piarmdynamic-linking

解决方案


推荐阅读