Невозможно установить необходимую сборку на CentOS

68

Когда я запускаю команду:

sudo apt-get install build-essential

Я получаю следующее сообщение об ошибке:

Reading Package Lists... Done
Building Dependency Tree... Done
E: Couldn't find package build-essential
Уэйли Чен
источник
1
Какой дистрибутив (Ubuntu? Debian?) И версия? Какой репо?
2
Вы используете ядро ​​Red Hat в дистрибутиве Debian или Ubuntu? Или вы на самом деле используете дистрибутив Red Hat? Если вы работаете с дистрибутивом Red Hat, вам следует использовать yumили up2date(в зависимости от того, какая версия подходит для вашей дистрибутивной версии).
Сарнольд
1
Спасибо за вашу помощь, ребята! Погуглил, как установить build-essential для CentOS, указал мне правильное направление.
Уэйли Чен
1
Вот cmd: sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel
Уэйли Чен
1
не забудьте добавить это в качестве ответа и принять его, как только программное обеспечение стека позволит вам сделать это. :)
sarnold

Ответы:

111

Я считаю, что это все еще должно работать.

sudo yum groupinstall 'Development Tools'
Скотт Ликенс
источник
5
это установит все доступные инструменты разработки, только к вашему сведению
user2720864
3
См. yum group info "Development Tools"Список установленных пакетов
user12345
1
Это далеко от всех инструментов разработки, если вы беспокоитесь. Это в основном основы для c / c ++ с automake, autoconf и т. Д.
Барри Келли
1
Но если вам нужна только настройка / make / make install для работы, это может быть слишком много (например, включает git и subversion). Лучше начать с ням установки Ketan Patel и, если чего-то не хватает, зайдите на этот
ndemou
это зависит от необходимого «языка программирования», но если вы планируете компилировать c ++, вам понадобится PLUS, glibc-develи, возможно, make... группы yum ооочень дерьмовые!
Сандбург
43
yum install gcc gcc-c++ make 

Это работает эквивалент build-essentialв CentOS.

Кетан Патель
источник
2
openssl-develможет по совпадению вытянуть то, что вы хотите, но build-essentialсамо по себе не правильно .
tripleee
4

Метапакет build-essentialпредоставляется в Debian для сбора всех обычно необходимых инструментов сборки в цепочке сборки Debian, включая те, которые вам нужны для создания .debпакетов. Centos использует совсем другой менеджер пакетов и напрямую не предоставляет ничего подобного; вам необходимо вручную установить отдельные компоненты набора инструментов ( gcc, make, библиотеки общего развития, документацию и т.д., а также, конечно , инструменты для создания RPM пакетов , если вы хотите сделать это).

Если вы уронили .debили RPM вещи, gcc, gcc-c++, glibc-devel, и makeдолжны получить соответствующие пакеты CentOS в настоящее время.

tripleee
источник
Согласно старому комментарию @ PabloCastellazzi, вы можете получить цепочку инструментов RPM с пакетом rpm-build. Название фактической утилиты есть rpmbuild. Для получения дополнительной информации см., Например, wiki.centos.org/HowTos/SetupRpmBuildEnvironment
tripleee
1

Я объединил принятое решение от Скотта Ликенса с комментарием от пользователя 12345 и сначала посмотрел, что было в группе «Средства разработки» перед установкой.

Как указал user12345, вы можете сделать это с:

$ yum group info "Development Tools"

Я хотел установить пакеты типа autoconfи automakeи binutils, но мне не нужно было doxygenили antили mercurial.

Ниже приведен список, который я использовал, вместе с их зависимостями, но, конечно, ваш пробег может варьироваться в зависимости от ваших потребностей.

$ yum install \
    autoconf automake binutils \
    bison flex gcc gcc-c++ gettext \
    libtool make patch pkgconfig \
    redhat-rpm-config rpm-build rpm-sign \
    ctags elfutils indent patchutils 
m0j0
источник
0
sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel
Уэйли Чен
источник
Это похоже на побочный эффект, так как @ pablo-castellazzi упоминается в комментариях в разделе вопросов. Лучше ответить на этот вопрос - К.К. Патель или Скотт
Ликенс
2
Отправляемая вами команда просит установить библиотеки разработки xml и xslt. В качестве побочного эффекта он установит gcc, который является важным строительным инструментом.
ndemou