通过 apt-get 在 X86 上安装 armhf lib

Pau*_* F. 5 ubuntu apt arm cross-compiling apt-get

我正在尝试在我的笔记本电脑上安装 libluetooth-dev,但不是 x86 版本,即 armhf 版本。我在 Ubuntu 16.04 这是我尝试这样做的方法:

sudo dpkg --add-architecture armhf
Run Code Online (Sandbox Code Playgroud)

然后我添加了

deb [arch=amd64,i386] http://uk.archive.ubuntu.com/ubuntu/ xenial main universe 
deb [arch=armel,armhf] http://ports.ubuntu.com/ubuntu-ports xenial main universe
Run Code Online (Sandbox Code Playgroud)

到 /etc/apt/sources.list 然后我试过:

sudo dpkg --configure -a   
sudo apt-get update
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

最后 :

sudo apt-get install libbluetooth-dev:armhf 
Run Code Online (Sandbox Code Playgroud)

输出:

     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:
 libbluetooth-dev:armhf : Depends: libbluetooth3:armhf (= 5.37-0ubuntu5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

我尝试安装 libluetooth3 的所有依赖项,但是太多了。我还尝试使用 lib 在网上抓取一个 .deb 文件并提取数据,但我需要的文件(libluetooth.so)只是存档中的一个符号链接,所以我猜 apt 正在编译它安装然后更新动态链接。

谢谢你的帮助 !

Jos*_*rks 0

尝试以下操作:

sudo apt install aptitude && sudo aptitude install libbluetooth-dev:armhf
Run Code Online (Sandbox Code Playgroud)