Неможливо встановити істотну збірку на CentOS


67

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

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(залежно від версії вашої дистрибуції).
sarnold

1
Дякую за всю допомогу, хлопці! Гуглінг про те, як встановити build-суттєве для CentOS, вказав на мене в правильному напрямку.
Waley Chen

1
Ось cmd: sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel
Waley Chen

1
не забудьте додати це як відповідь і прийняти це, як тільки програмне забезпечення стека дозволить вам це зробити. :)
sarnold

Відповіді:


110

Я вважаю, що це все-таки має працювати.

sudo yum groupinstall 'Development Tools'

5
це встановить усі доступні інструменти розробки, просто FYI
user2720864

3
Перегляньте yum group info "Development Tools"список встановлених пакетів
user12345

1
Це далеко не всі засоби розробки, якщо ви переживаєте. Це в основному основи для c / c ++ з автоматикою, autoconf тощо
Barry Kelly

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.
трійка

4

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

Якщо ви упустили .debабо RPM речі, gcc, gcc-c++, glibc-devel, і makeповинні отримати відповідні пакети CentOS в даний час.


Відповідно до старого коментаря @ 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 

0
sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel

Це здається більше побічним ефектом, як @ pablo-castellazzi, згаданий у коментарях у розділі запитань. Краща відповідь imo - KK Patel або Scott
Likens

2
Команда, яку ви надсилаєте, просить встановити бібліотеки розвитку xml та xslt. Як побічний ефект він встановить gcc, який є важливим інструментом створення.
ndemou
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.