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


11

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

但是,看起来该libsqlite3-dev:i386软件包与并不兼容libsqlite3-dev:amd64,因为apt在安装另一个软件包时一直想删除其中一个。

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

Answers:


5

您不能同时在同一系统上安装两个-dev软件包。您只能安装一个或另一个,因为它们包含一些相同的文件。多体系结构不启用交叉编译支持,这是您要尝试做的。如果要安装:i386sqlite开发包的版本,并使用64位编译器进行编译,则几乎肯定会导致编译失败。

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


头文件确实在两个软件包中,但是它们的内容是相同的。更,对于其他的-dev包,例如zlib1g,其也有共同的(和相同的)文件,它能够同时安装这两个版本。
Wim

1
我只是强行安装了两个软件包,这似乎没有破坏任何东西,现在我可以构建(并正确运行)两个版本。这是软件包维护者在没有真正冲突的地方声明冲突的一种情况吗?
Wim

0

就个人而言,即使万不得已,我也不会考虑强制安装。我认为,您可能会发现pbuilder非常有用。这是一个HOWTO。您甚至可以为此目的安装不同的发行版,并同时为不同目标的构建过程编写脚本。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.