无法找到软件包 libc6-dev-i386

无法找到软件包 libc6-dev-i386

我正在尝试安装 NS3,但在安装此包 libc6-dev-i386 时卡住了。

sudo apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib

到目前为止,我已经尝试了在谷歌上可以找到的所有可能的解决方案。

一些细节:

sudo dpkg --print-architectures   
i386

我试过直接命令,

  1. sudo apt install libc6-dev-i386

  2. sudo dpkg --add-architecture i386,然后尝试运行更新命令。

    但再次没有运气,我认为这次尝试是愚蠢的,因为我的基本架构是 i386,所以我不需要添加它(有人可以确认),但我还是尝试了。

  3. sudo apt install -f,尽管我不知道它-f代表什么。

  4. 我还读到这个包会随 g++ 自动安装,而我有 g++ 6.3.0。

经过所有这些尝试后,我得到了同样的错误:

Reading package lists... Done  
Building dependency tree       
Reading state information... Done  
E: Unable to locate package libc6-dev-i386

我没有找到,在网站上定位在哪里?

编辑

lsb_release -a 的 o/p,

No LSB modules are available.      
Distributor ID: Ubuntu     
Description:    Ubuntu 17.04     
Release:    17.04
Codename:   zesty

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

是的,我遵循了……的指示。
https://www.nsnam.org/wiki/Installation

并且,“architecture”末尾的“s”是我的错。我正在尝试使用外部命令。

答案1

在 32 位 Ubuntu 上,跳过该软件包。只需安装libc6-dev您需要的其他软件包即可。

libc6-dev-i386与 32 位系统相对应的特定包只是libc6-dev,您已经正在安装它。

没有libc6-dev-i386适用于您系统的软件包,因为它仅适用于 64 位系统。这是因为它的目的是为您提供在 64 位系统上构建和运行 32 位程序的能力。


Ubuntu支持多种架构。 为了,这意味着大多数台式机和笔记本电脑,包括那些苹果近年来生产的,有两种:i386 用于 32 位系统,amd64 用于 64 位系统。对于本回答的其余部分,当我说“32 位”和“64 位”时,我指的是这些体系结构。(这些名称容易混淆架构有重要区别, 硬件可能同时支持两者或仅支持 i386尽管您可能需要 UEFI 系统上的 amd64 版本,你可以检查你的机器的架构或者Ubuntu 安装

64 位处理器能够运行 64 位和 32 位本机(机器语言)代码。

  • 如果您拥有64位(amd64)版本的Ubuntu,则可以自动运行64位程序。
  • 您也可以运行 32 位程序,但可能需要安装 32 位支持库,包括 32 位版本的libc6

大多数程序运行时都需要该libc6软件包提供的库。Ubuntu 已安装此软件包。与 Ubuntu 中的大多数(但不是全部)软件包一样,该libc6软件包针对不同的架构单独提供。

创造链接到提供的库的可执行文件libc6,您需要拥有头文件该库的依赖项。这些由包提供libc6-devlibc6-dev包还将libc6包声明为依赖项,因为通常只有头文件而没有库本身是没用的。大多数-dev包将一些相应的非-dev包声明为依赖项。

由于绝大多数程序都libc6直接或间接地需要,多年来已经提供了多种在 64 位系统上安装该库及其头文件的 32 位版本的方法。

根据您运行的命令,似乎您尝试过两个都前两种方法之一,或两者结合。但是,您的系统既不需要也不具备这两种能力,因为它是 32 位系统。32 位系统不需要任何特殊功能即可运行 32 位程序(并且它们无法运行 64 位程序)。

答案2

该开发库libc6-dev-i386仅在 64 位操作系统上开发 32 位软件时才需要。

根据发布的结果(有待确认),操作系统是 32 位(i386),因此不需要所述库,并且该库在存储库中可用(仅适用于 64 位 Ubuntu)。

即使没有它,安装仍可继续。

相关内容