Не удается найти пакет libc6-dev-i386

3

Я пытаюсь установить NS3 и застрял в этом пакете, libc6-dev-i386, установка.

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

Я пробовал все возможное решение, которое я могу найти в google, до сих пор.

Некоторые сведения:

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

Я не получаю, найдите где, на веб-сайте?

EDIT

O / p of, lsb_release -a.,

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

и да, я следую инструкциям.,
Ссылка

и, что «s» в конце «архитектуры», является моим плохим. Я пытался использовать иностранную команду.

    
задан tafri 20.08.2017 в 01:22
источник

2 ответа

3

В 32-разрядном Ubuntu пропустите этот пакет. Просто установите libc6-dev и любые другие необходимые вам пакеты.

Конкретным пакетом, который соответствует libc6-dev-i386 для 32-битной системы, является только libc6-dev , которое вы уже устанавливаете.

В вашей системе нет пакета libc6-dev-i386 , поскольку он доступен только в 64-битных системах. Это, в свою очередь, связано с тем, что его цель - предоставить вам возможность создавать и запускать 32-разрядные программы в 64-разрядной системе.

Ubuntu поддерживает несколько архитектур . Для ПК , что означает большинство настольных компьютеров и ноутбуков, в том числе , выпущенный Apple в последние годы , существует два: i386 для 32-разрядных систем и amd64 для 64-битных систем. Для остальной части этого ответа, когда я говорю "32-разрядные" и "64-битные", я имею в виду именно эти архитектуры. (Эти путающе названные архитектуры имеют важные отличия , аппаратные средства может поддерживать оба или только i386 хотя вам может понадобиться версия amd64 для UEFI-систем , и вы можете проверьте архитектуру вашего компьютера или Установка 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 , на протяжении многих лет было предоставлено более одного способа установки 32-разрядной версии этой библиотеки и ее файлов заголовков в 64-разрядной системе.

Основываясь на командах, которые вы запускали, кажется, что вы пробовали оба первых двух методов или комбинацию из двух. Однако ваша система не требует и не может, поскольку это 32-разрядная система. 32-разрядные системы не нуждаются в каких-либо специальных возможностях для запуска 32-разрядных программ (и они не могут запускать 64-разрядные программы).

    
ответ дан Eliah Kagan 21.08.2017 в 17:14
источник
5

Библиотека разработки libc6-dev-i386 необходима только для разработки 32-разрядного программного обеспечения в 64-разрядной ОС.

В соответствии с опубликованными результатами (в ожидании подтверждения) ОС 32-разрядная (i386), поэтому она не требует указанной библиотеки, а библиотека недоступна в репозиториях (она доступна только для 64-разрядного Ubuntu ).

Установка может продолжаться без него.

    
ответ дан MichaelBay 20.08.2017 в 01:54