Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > команда make не существует


Автор: etc 16.1.2006, 14:25
Вообщем после короткого но упорного иследования линукса решил попробовать устанивить прогу.
Все было хорошо до того момента пока мне не сообщили что команды make не существует.
Полазил по форуму и гуглу. И вообщем решил, что нужен компилятор (как оказадось их даже несколько вариантов, а я думал только gcc). И вообщем у меня 2 вопроса:
1. Обязательно ли качать этот gcc, или он есть у меня в дистри. Если есть, то как его найти, а потом и установить!?
2. И вообще правильно ли я понял что команда make зависит от того есть ли у меня gcc.
smile

Автор: Alexandr87 16.1.2006, 14:42
Какой у тебя дистр?
ЗЫ. По-моему make это отдельная программа, однако без компилятора она работать не будет

Автор: bilbobagginz 16.1.2006, 15:31
Цитата

1. Обязательно ли качать этот gcc, или он есть у меня в дистри. Если есть, то как его найти, а потом и установить!?

обычно gcc есть во всех дистрибутивах.
найти его можно полазав по диску. установка зависит от дистрибутива.
какой у тебя дистрюк ?

Цитата

2. И вообще правильно ли я понял что команда make зависит от того есть ли у меня gcc.


нет. make - это в общем-то программа которая используется при сборке больших програм из нескольких маленьких файлов. она вызывает компилятор, компиляет этим маленькие файлы, а потом вызывает связчик и связывает их в либу или в программу.
gcc - не обязателен к нему. а вот если программа написана на C или C++ - тогда - обязателен.
но опять же, не для того чтобы make работал, а чтобы make мог собрать твою программу.


пока.

Автор: etc 16.1.2006, 17:08
У меня Mandriva 2006
Цитата(Alexandr87 @ 16.1.2006, 14:42 Найти цитируемый пост)

По-моему make это отдельная программа

Цитата(bilbobagginz @ 16.1.2006, 15:31 Найти цитируемый пост)

make - это в общем-то программа

Хорошо, тогда она по сути дела так же должна быть в дистрибутах?

Автор: comcon1 16.1.2006, 17:43
Она ОБЯЗАНА быть в дистре, тем более столь свежем. На скольки СД у тебя она. Мож не все CD??

без make никуда. ищи.

если в мандриве также как в MAndrake, то комманда rpmdrake и rpmdrake-uninstall для инсталляции и деинсталляции пакетов с диска. Вопрос в том поставил ли ты эту утилиту. Если нет, то в первую очередь поставь ее. Потом при помощи нее make, gcc и прочею шушеру.

Доставка RPM пакетов осуществляется при помощи команды
Код

rpm -i <имя пакета>

Ищешь соответствующий файл в СД-ках и запускаешь ее.

Вперед.

Автор: etc 16.1.2006, 19:50
comcon1 А мандрива это разве не то же что и мандрайк?!
У меня на 4-х сидюках. Значит буду искать.
И у меня кстати при установке не спрашивал какие пакеты устанавливать. Все сделал сам молча.
Это меня очень удивило. И гад установил КДЕ, а хотел гнома. Но эту шнягу я уже нашел где установить.

Спасибо за помощь. Если что не так пойдет дома, обращусь еще! smile

Автор: bilbobagginz 16.1.2006, 22:00
Mandriva = Mandrake + conectiiva
Mandrake - Франция, Connectiva - Бразиль.


хотел сказать смешанный брак.

smile

Автор: batigoal 17.1.2006, 09:14
Оффтоп:

Make, как я понимаю, это утилита для сборки (аналог Java Ant)?

Автор: Metal_Heart 17.1.2006, 09:58
Цитата(Lamer George @ 17.1.2006, 09:14 Найти цитируемый пост)

Make, как я понимаю, это утилита для сборки (аналог Java Ant)?


Всё равняем на Яву ? smile smile smile

Автор: batigoal 17.1.2006, 10:40
Цитата(Metal_Heart @ 17.1.2006, 10:58 Найти цитируемый пост)

Всё равняем на Яву ? smile smile smile

Других не знаю, вот и ищу аналогии. Но вообще, насколько я знаю, make родился раньше.

Автор: etc 20.1.2006, 12:24
Вообщем нашел я на дисках rpm пакеты и make и gcc. Начал устанавливать, и мне сообщили что пакеты эти уже установленны. Но как ничего не работало так и не работало.
Ради экперемента установил я маке с другово дистриба. Он заработал (помоему на версию ниже). И решил так же заменить gcc на версию 3.2. Но при установки оказалось что много чего надо будет менять и переустанавливать. Поэтому не стал. В документации к этому дистру так же ничего не указано. Вообщем осталось перерыть весь форум тех поддержки. smile

Автор: chief39 20.1.2006, 13:43
Цитата(Lamer George @ 17.1.2006, 09:14 Найти цитируемый пост)

Оффтоп:
Make, как я понимаю, это утилита для сборки (аналог Java Ant)?

АНТ сделали по образу и подобию мэйка. С учётом достатков и недостатков. Так же как и джаву по образу Сей. А мэйк уже очень-очень давно существует(вот только не помню кто придумал smile ). Причём сейчас он и в форточках часто-густо используется.

Цитата(etc @ 20.1.2006, 12:24 Найти цитируемый пост)

Вообщем нашел я на дисках rpm пакеты и make и gcc. Начал устанавливать, и мне сообщили что пакеты эти уже установленны. Но как ничего не работало так и не работало.


А ты попробуй выполнить
Код

whereis make

в каком-то из каталогов /<мало ли что за каталог>/bin/ он должен обнаружиться.
Еесли установлен, но не запущаеться - тогда, скорей всего, пути не прописаны. Добавь в PATH (в файле /etc/profile ) через двоеточие путь к папке, где make обитает.
Но сначала поищи его бинарник и попробуй его запустить.

Автор: comcon1 23.1.2006, 01:14
Раз у тебя не вызывается make, попробуй снести make родной и поставить другой make руками. Деинсталляция пакетов организована при помощи rpm-uninstal (как я уже говорил) или rpm -e (вроде).

Но я тебе рекомендую снести имеющиеся make+gcc и поставить имеющиеся вновь. Посмотри поиском, где лежат дистры. gcc должен быть в /bin /usr/bin, make там же. Если нет - скорее всего установка некорректна. поэтому бери левую установку.

поиск веди так: find / -iname "make"
и так: find / -iname "g++"

это, если whereis не сработает.

Кстати, кроме whereis попробуй запустить apropos или locate. apropos - не совсем то, но все же.

Автор: etc 24.1.2006, 20:12
Теперь вообще полнейшая эпидерсия произошла. запустил поиск whereis make
и мне он показал только bz2 архив. хотя при при ./configure говорит что с маком все в норме.
Попробую тогда его с gcc окончательно снести и переустановить. На крайняк буду ставить с другово дистра.

И вообще что то меня начал смущать этот Мандрайк. С виду вроде бы ниче, а внутри глюки. Я уже подзадумываюсь, может стоит другой дистр попробовать.

Автор: bilbobagginz 24.1.2006, 21:00
так... сдается мне что то не ладно тут.
во первых - ты сначала искал qmake, а сейчас уже ищешь make...в чем дело ?

давай так:
1. сохрани следующие команды как файл по имени HyuHy.sh в папке /root:
Код

echo "=============="
echo "I am: `whoami`"
echo  "my PATH: $PATH"
echo  "my HOME: $HOME"
echo "=============="
echo "packages:"
rpm -qa | egrep -n "qt|make|conf" |grep -v config | cut -d: -f2 | sort -nr
echo "=============="
echo -n "DONE:"
date

2.запусти файл как root, следующим образом:
Код

source /root/HyuHy.sh


повторяю. РЕЗУЛЬТАТ В СТУДИЮ.
пока.

Автор: powerfox 25.1.2006, 00:15
Прежде чем сносить, покажите вывод ./configure(в папке программы, которую хотели ставить). По ходу, у выс Mandrake 10.0 Community, там всё рабочее.

Автор: etc 26.1.2006, 03:08
bilbobagginz
Вот что вышло в итоге:
Код

I am: root
my PATH^ /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
my HOME: /root
=================
packages:
qt-common-3.3.4-23mdk
pinentry-qt-0.7.2-2mdk
makedev-4.4-1mdk
libqt3-3.3.4-23mdk
aqhbci-qt-tools-1.0.5-0.beta.2mdk
==================
DONE: Чтв Янв 23 02:59:21 MSK 2006


как я опять понял из этого вывода маке найден и установлен!?

2powerfox
щас вывод показать не могу покуда под виндой. но суть такая что когда вывожу ./configure в папке с сорцами идет типо проверки и пара строк выглядят примерно так:
Код

...
make....................no
gcc...................no
...

далее идет еще пару видов компиляторов и напротив каждого стоит no.
вообщем у меня все что идет после строки маке - везде no. (все это делается под рутом).
Я конечно могу учесть тот вариант, что я что то не так понял. Поэтому сразу объясню как я это все делаю.
Сохраняю архив test.tar.gz в хом директорию. в терминале пишу :
Цитата

tar xvfz test.tar.gz
cd test
./configure

ну и далее тот вывод что было описан выше.

И у мня не Mandrake 10.0 Community (хотя сидюк с ним имеется) а Mandriva Discovery/Lx

Автор: powerfox 26.1.2006, 15:05
А покажите-ка файл config.log, может скрипт кривой.
Что выводит gcc --version? А make --version?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)