我正在尝试从 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
安装了。