无法定位软件包 libc6-dev-i386

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)

我试过直接命令,

  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
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)。

没有它,安装可以继续。


Eli*_*gan 5

在 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 位本机(机器语言)代码。

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

要运行,大多数程序需要libc6包提供的库。Ubuntu 已经安装了这个包。与 Ubuntu 中的大多数(但不是全部)软件包一样,该libc6软件包是为不同的体系结构单独提供的。

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

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

根据你运行的命令,好像你试过两个前两种方法,或两者的组合。但是,您的系统既不需要也没有能力,因为它是 32 位系统。32 位系统不需要任何特殊的东西就能运行 32 位程序(它们不能运行 64 位程序)。


归档时间:

查看次数:

33180 次

最近记录:

8 年,8 月 前