如何为ARM Raspberry Pi交叉编译debian包

时间:2014-02-04 22:22:02

标签: debian raspberry-pi cross-compiling

我使用arm-bcm2708工具链进行交叉编译。

现在我要构建debian包。

$ dpkg-buildpackage -rfakeroot -us -uc

我收到了错误

... (ELF format: 'elf32-littlearm'; RPATH: '')
dpkg-shlibdeps: error: cannot continue due to the error above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to set LD_LIBRARY_PATH.

我不想在pi上构建它。那么如何在PC上交叉编译RPi debian软件包呢?

1 个答案:

答案 0 :(得分:5)

第一种方法是使用与Raspberry Pi Debian相同的主机Debian发行版。例如7.0。添加deb http://www.emdebian.org/debian/ unstable main/etc/apt/sources.list并安装工具链:

apt-get update
apt-get install emdebian-archive-keyring
apt-get install gcc-4.7-arm-linux-gnueabihf g++-4.7-arm-linux-gnueabihf
apt-get install build-essential git debootstrap u-boot-tools

通过xapt,您可以安装交叉编译的依赖项。也许你可以使用dpkg-buildpackage

<强>替代:

您可以将包转换为使用CMake并使用CPack生成deb文件。这种方法也适用于openSuSe,Fedora等其他发行版。

<强>更新

随着Emdebian发行版的更新停止,建议切换到较新的Debian版本并使用multiarch功能。