Debian multiarch:无法为armhf和amd64安装python

时间:2017-02-19 19:46:55

标签: python arm debian cross-compiling x86-64

对于我正在研究的项目,我使用Debian(8)作为基本操作系统。我正在开发的目标是基于ARM的平台。因此,为了便于交叉编译,我使用了debian提供的multiarch功能。

不幸的是,当我尝试为我的主机系统和我正在交叉编译的系统安装python时遇到了一个问题。看起来它们不能彼此相邻安装。

当我尝试使用apt-get install(apt-get install python python:armhf)为两种架构安装python时,我收到此错误:

Reading package lists... Done
Building dependency tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
python : Depends: python2.7 (>= 2.7.9-1~) but it is not going to be installed
      PreDepends: python-minimal (= 2.7.9-1) but it is not going to be installed
      Conflicts: python:armhf but 2.7.9-1 is to be installed
python:armhf : Conflicts: python but 2.7.9-1 is to be installed

如果我首先为我的主机系统安装python然后尝试为armhf安装python,那么apt想要再次删除第一个python安装。

之前有人见过这个吗?知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Debian Jessie的Multiarch不允许并行安装可执行文件:

  • 包python包含安装到/ usr / bin的可执行文件(例如pdb,pydoc,...)
  • 包python:armhf还包含那些可执行文件,它们也应安装到/ usr / bin。
  • 因此,python和python:armhf不能同时安装,因为一个包的可执行文件会覆盖另一个包的可执行文件。

好消息是,您不需要两个python解释器。在你的情况下,我只需要安装主机架构所需的python解释器(例如python:amd64)。请注意,使用sudo apt-get build-dep -a armhf PACKAGE-NAME等命令安装构建依赖项有时可能会失败,您必须猜测需要手动安装哪些软件包。