使用amd64内核(Debian)在i386 root上编译amd64二进制文件
我有一个相当老的Debian测试系统,它的所有软件包都安装为i386。 通常我运行的是PAE内核(linux-image-3.16.0-4-686-pae:i386)。
我试图编译一个简单的C ++程序,需要超过4 GB的内存。 我已经安装了linux-image-3.16.0-4-amd64:amd64内核,因为我认为在PAE机器上不可能获得超过3GB的内存。
不幸的是,整个工具链/库仍然是i386。 我想我需要GCC(multilib?)和某些库的amd64版本的特殊味道。
我已经找到了关于如何在64位rootfs系统上编译32位内容的教程,但不是相反。 我不想为了这个测试而将整个系统交叉到amd64,所以:
有没有办法在安装时安全编译和运行64位代码,并根据需要对系统进行少量更改? 理想情况下,将来可能会在某一时刻从该设置进行交叉评分。 或者,是否可以从Debian Live CD创建64位chroot环境,chroot进入它,编译代码并从那里运行它? 或者静态编译并在chroot之外运行它?
编辑:安装g ++ multilib解决编译64位的问题(使用-m64
选项)。 任何人都可以帮助我的问题的chroot / cross-grade部分?
上一篇: Compiling amd64 binary on i386 root with amd64 kernel (Debian)
下一篇: How do I install dependencies when cross compiling haskell code?