com*_*nse 4 package-management 32-bit multiarch software-installation 17.04
我正在尝试安装 NS3,但被卡在这个包 libc6-dev-i386 安装中。
sudo apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了我可以在谷歌上找到的所有可能的解决方案。
一些细节:
sudo dpkg --print-architectures
i386
Run Code Online (Sandbox Code Playgroud)
我试过直接命令,
sudo apt install libc6-dev-i386
sudo dpkg --add-architecture i386,然后尝试运行更新命令。
但是再次没有运气,我认为这种尝试很愚蠢,因为我的基础架构是 i386,所以我不需要添加它(任何人都可以确认),但我以任何方式尝试过。
sudo apt install -f,虽然我不知道-f代表什么。
我也读过这个包是用 g++ 自动安装的,我有 g++ 6.3.0。
在所有这些尝试之后,我得到了同样的错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libc6-dev-i386
Run Code Online (Sandbox Code Playgroud)
我没有得到,在网站中找到哪里?
编辑
lsb_release -a. 的 o/p,
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty
Run Code Online (Sandbox Code Playgroud)
uname -a --
Linux tafri-HP-Pavilion-15-Notebook-PC 4.10.0-32-generic #36-Ubuntu SMP Tue Aug 8 12:09:08 UTC 2017 i686 i686 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
是的,我正在遵循
https://www.nsnam.org/wiki/Installation 的说明
而且,“架构”末尾的“s”是我的坏处。我正在尝试外国命令。
小智 5
开发库libc6-dev-i386仅用于在 64 位操作系统中开发 32 位软件。
根据发布的结果(待确认),操作系统是 32 位(i386),因此它不需要上述库,并且该库在存储库中不可用(仅适用于 64 位 Ubuntu)。
没有它,安装可以继续。
在 32 位 Ubuntu 上,跳过该包。只需安装libc6-dev和您需要的任何其他软件包。
对应于libc6-dev-i38632 位系统的特定软件包是libc6-dev,您已经在安装它。
没有libc6-dev-i386适用于您的系统的软件包,因为它仅适用于 64 位系统。反过来,这是因为它的目的是为您提供在 64 位系统上构建和运行 32 位程序的能力。
Ubuntu支持多种架构。对于个人电脑,即大多数台式机和笔记本电脑,包括苹果近年来生产的那些,有两种:32 位系统的 i386 和 64 位系统的 amd64。对于这个答案的其余部分,当我说“32 位”和“64 位”时,我专门指的是这些架构。(这些命名混乱的架构有重要的区别,硬件可能支持两者或只支持 i386,尽管您可能需要 UEFI 系统上的 amd64 版本,您可以检查您的机器或Ubuntu 安装的架构。)
64 位处理器能够运行 64 位和 32 位本机(机器语言)代码。
libc6.要运行,大多数程序需要libc6包提供的库。Ubuntu 已经安装了这个包。与 Ubuntu 中的大多数(但不是全部)软件包一样,该libc6软件包是为不同的体系结构单独提供的。
要创建链接到由 提供的库的可执行文件libc6,您需要具有该库的头文件。这些是由libc6-dev包提供的。该libc6-dev包还将包声明libc6为依赖项,因为只有头文件而不是库本身通常没有用。大多数-dev包将一些相应的非-dev包声明为依赖项。
由于绝大多数程序libc6直接或间接需要,因此多年来提供了不止一种在 64 位系统上安装该库的 32 位版本及其头文件的方法。
dpkg --add-architecture i386和使用apt或apt-get安装的libc6:i386和libc6-dev:i386包。apt并apt-get支持使用此:语法指定要安装的包的体系结构。i386一些常用库的 32 位 ( ) 版本作为特殊amd64包提供。libc6-i386并且libc6-dev-i386是两个这样的包。该libc6-dev-i386包提供了 32 位版本的头文件,这些头文件在体系结构之间有所不同,同时声明为依赖项 libc6-dev,这对于其他包来说已经足够了libc6-i386,而 提供了实际的 32 位库。ia32-libs包。根据你运行的命令,好像你试过两个前两种方法,或两者的组合。但是,您的系统既不需要也没有能力,因为它是 32 位系统。32 位系统不需要任何特殊的东西就能运行 32 位程序(它们不能运行 64 位程序)。
| 归档时间: |
|
| 查看次数: |
33180 次 |
| 最近记录: |