aarch64 交叉编译时未找到 -lpopt

aarch64 交叉编译时未找到 -lpopt

我正在尝试从 64 位(x86_64)的 ubuntu 12.04 桌面交叉编译“aarch64”架构。

所以我使用“突触包管理器”安装了“aarch64”的交叉编译器工具链。

现在我正在尝试从源代码构建一个 linux 软件包,但在构建此软件包时遇到的错误是:

can not find -lpopt ..

那么,我如何获得名为 aarch64 架构的“libpopt.a/.so”?是否有任何可用的“libpopt”源代码,我应该为 aarch64 进行交叉编译,然后使用这个库来构建我的包..

任何意见都将受到高度赞赏。

答案1

据我所知,aarch64 没有 libpopt 包。因此,您可以简单地使用交叉编译器工具链对其进行编译,并将生成的库添加到已经引入的链接器路径中(反之亦然)。

来源位于:

http://www.linuxfromscratch.org/blfs/view/svn/general/popt.html

答案2

(最新版本 AFAICT)的构建系统popt-1.16与 AArch64 跨目标不太兼容。但不兼容性只是处于尝试将平台三元组修复为某种标准形式的阶段,因此您可以轻松修复它。以下是我如何设法交叉编译它(与 CLFS 类似,我假设您已提取 tarball 并cd“编辑”到目录中):

sed -i 's@^\(.* | armv\[.*\) \\@\1 | aarch64 \\@' config.sub
./configure --build=i686-cross-linux-gnu \
            --host=aarch64-linux-gnu \
            --prefix=/usr
make

之后就可以进行make DESTDIR=/your/destination/dir install安装了。

相关内容