我正在尝试在同一台 Ubuntu 12.04 机器上安装libsqlite3-dev
这两个版本i386
。amd64
我正在开发一个使用 sqlite3 的应用程序,并且想要编译和测试 32 位和 64 位版本。
然而,看起来该libsqlite3-dev:i386
包与不兼容libsqlite3-dev:amd64
,因为apt
当我安装另一个时总是想删除一个。
有没有办法将两者安装在同一个系统上?
答案1
您无法在同一系统上同时安装两个 -dev 包。您只能安装其中一个,因为它们包含一些相同的文件。多架构不支持交叉编译支持,而这正是您要尝试做的。如果您要安装:i386
sqlite 开发包的版本,并使用 64 位编译器进行构建,那么您几乎肯定会得到一个失败的构建。
最好的选择是在 32 位 chroot 或 VM 中编译,以构建 32 位版本。
答案2
就我个人而言,我不会将强制安装视为最后的手段。我认为,您可能会发现 pbuilder 非常有用。这里有一份 HOWTO。您甚至可以为此安装不同的发行版,并同时为不同的目标编写构建过程脚本。
http://ubuntuforums.org/showthread.php?t=206382
因此,您甚至可以卸载所有开发包。它们将安装到临时的 chroot 安装中。