如何安装同一个 -dev 包的 32 位和 64 位版本?

如何安装同一个 -dev 包的 32 位和 64 位版本?

我正在尝试在同一台 Ubuntu 12.04 机器上安装libsqlite3-dev这两个版本i386amd64我正在开发一个使用 sqlite3 的应用程序,并且想要编译和测试 32 位和 64 位版本。

然而,看起来该libsqlite3-dev:i386包与不兼容libsqlite3-dev:amd64,因为apt当我安装另一个时总是想删除一个。

有没有办法将两者安装在同一个系统上?

答案1

您无法在同一系统上同时安装两个 -dev 包。您只能安装其中一个,因为它们包含一些相同的文件。多架构不支持交叉编译支持,而这正是您要尝试做的。如果您要安装:i386sqlite 开发包的版本,并使用 64 位编译器进行构建,那么您几乎肯定会得到一个失败的构建。

最好的选择是在 32 位 chroot 或 VM 中编译,以构建 32 位版本。

答案2

就我个人而言,我不会将强制安装视为最后的手段。我认为,您可能会发现 pbuilder 非常有用。这里有一份 HOWTO。您甚至可以为此安装不同的发行版,并同时为不同的目标编写构建过程脚本。

http://ubuntuforums.org/showthread.php?t=206382

因此,您甚至可以卸载所有开发包。它们将安装到临时的 chroot 安装中。

相关内容