Make не работает
make у тебя работает, попутно твой make от тебя же дуреет, ты хоть читай иногда выхлоп команды, которую запускаешь.
Я новичок, что там не так?
Я же в папке со всеми файлами и ввел все правильно вроде
Makefile.in это не то же самое, что Makefile. Это только заготовка для генерации Makefile. Генерируется он обычно скриптом configure, но у тебя среди файлов почему-то его нет.
Не оскорбляй, я не школьник, просто надо срочно скомпилировать, а я в linux не разбираюсь из-за сложных ошибок
Я нашёл configure и configure.ac в корне проекта, хотел скомпилировать отдельно библиотеку. Какой выбрать из этих файлов?
А это была другая система на другом устройстве, на android я решил скомпилировать потому, что там не могу
Пробуй собирать всё из корня проекта. Значит пакет не рассчитан для сборки по частям.
Поставь нормальный не урезанный дистрибудив.
Не могу, есть много причин. 1.) Это не пк с операционной системой, а программа-эмулятор. 2.) Она проверяет подлинность и не разрешает ставить другую OС. 3.) Эта ОС самая быстрая
Попробовал. Почему denied? Root есть!
Дай права на выполнение.
Что за бл***. Все сделал как надо, но всё равно сыпятся ошибки
права на выполнение дать
Должно работать вот так:
Дай сам код то, я на своём попробую собрать, сейчас тоже с Termux играюсь ))
Оффтоп: а нахрена собирать с рутовыми правами?
Что за ошибка permission denied? При любых действиях с компилятором правильных такая ошибка
Ошибка прав доступа.
он там не нужен вообщето, если ты через tsu рутуешься то всё ок если через su то ты уже не в консоли Termux, а в консоли android
sudo su не в консоли работает а как обычно
я не школьник, просто надо срочно скомпилировать
Есть. Я проверил, теперь есть
В скриптах, выполняемых при конфигурировании стоит вызов командного интерпретатора /bin/sh, если его нет в эмуляторе, то либо ставь его туда как-то, если там есть /bin/bash, то можешь сделать символьную ссылку, ну либо правь исходники.
Ошибка доступа. Значит, у тебя нет прав на каталог либо файлы в нём. Это значит, что их нужно поправить. Тем не менее, для собственно компиляции рут не нужен, хоть и может скрыть проблему
В эмуляторе нет /bin/sh
Создал папку bin и этот файл, экскортировал переменные но не получается
Создал папку bin и этот файл
В Linux, когда ты в командной строке вводишь имя и пароль, то после авторизации у тебя запускается командная оболочка, так вот эта запущенная оболочка и есть /bin/sh, /bin/bash или другая реализация.
Аналогично и в эмуляторе терминала в графической оболочке.
Разбираться как добавить в эмулятор эту программу.
Получилось, эта команда исправила export CONFIG_SHELL=$PREFIX/bin/sh Но теперь ошибка ещё непонятнее https://image.ibb.co/jw3nHR/Screenshot_20180116_112438.png
Что именно непонятно в фразе No C compiler found?
Gcc has no installation candidate, не могу его установить
И еще что за cc и cl.exe
make: command not found
Случилось мне сегодня заняться установкой Asterisk 18 на новую виртуальную машину на Centos 8. Поставил версиб ОС базовую, без лишнего мусора. В процессе установки дополнительных модулей Asterisk, а именно LibPRI столкнулся с проблемой. Ошибка make: command not found может вылезти при установке любого ПО из исходников.
Необходимо было скачать пакет и выполнить его компиляцию, команда make. Однако, как оказалось, данная команда не входит в базовую поставку Centos 8. Сейчас мы это дело исправим.
Установка пакета make
Рассмотрим установку пакета make в разных операционных системах. Не забываем что установка ПО происходит от пользователя с правами root. Если вы в системе не под root используйте sudo.
Centos 8
Centos 7 (Red Hat и прочие RPM подобные)
Ubuntu (Debian и прочие DEB подобные)
Мы установили нужный нам пакет make. Для полноценной работы советую установить несколько пакетов входящих в группу Development tools. Пакет make также туда входит и еще много других, которые наверняка пригодятся при установке ПО.
Установка Development tools
Centos 8
Как видно из скриншота пакет Development tools имеет не малый размер. Но по современным меркам он уже не кажется каким то огромным. Считаю что его установка полностью себя оправдает в дальнейшем использовании системы.
Centos 7 (Red Hat и прочие RPM подобные)
Установка Build essential
В Ubuntu пакет содержащий make, а также остальные необходимые в том числе для компиляции приложений называется build-essential
Чтобы не столкнуться с ошибкой make: command not found конечно, можно сразу при установке системы ставить полный комплект. Однако вместе с ним будет установлено много не нужных программ, которые скорее всего никогда не пригодятся.
Записал коротенькое видео по данной теме
unixforum.org
Форум для пользователей UNIX-подобных систем
не работает команда make (не получается откомпилировать через make даже простенькие файлы)
Модератор: Bizdelnick
не работает команда make
Сообщение yint » 28.01.2009 17:38
ввожу команду make а там пишет
[int@int program]$ make
bash: make: command not found
пробывал на простеньких файлах
/* file hallo.c */
#include
Re: не работает команда make
Сообщение diesel » 28.01.2009 17:54
как бы это Вы перевели на русский?
Re: не работает команда make
Сообщение yint » 28.01.2009 18:00
как бы это Вы перевели на русский?
Re: не работает команда make
Сообщение anarhist1 » 28.01.2009 18:01
как бы это Вы перевели на русский?
Я бы например перевел, это так:
1.Открыл терминал
2. Дал бы команду su yum install make
Re: не работает команда make
Сообщение yint » 28.01.2009 18:07
как бы это Вы перевели на русский?
Я бы например перевел, это так:
1.Открыл терминал
2. Дал бы команду su yum install make
Re: не работает команда make
Сообщение psyshit » 28.01.2009 18:09
как бы это Вы перевели на русский?
Я бы например перевел, это так:
1.Открыл терминал
2. Дал бы команду su do yum install make
так лучше будет
Re: не работает команда make
Сообщение yint » 28.01.2009 18:12
как бы это Вы перевели на русский?[quote]
Я бы например перевел, это так:
1.Открыл терминал
2. Дал бы команду su do yum install make
[quote]
так тоже не хочет 
[int@int program]$ sudo yum install make
[sudo] password for int:
int is not in the sudoers file. This incident will be reported.
Re: не работает команда make
Сообщение anarhist1 » 28.01.2009 18:13
Re: не работает команда make
Сообщение psyshit » 28.01.2009 18:15
Re: не работает команда make
Сообщение Encore » 28.01.2009 18:20
Re: не работает команда make
Сообщение yint » 28.01.2009 18:22
Re: не работает команда make
Сообщение psyshit » 28.01.2009 18:25
тогда проделай операции, которые посоветовал Encore, если же make не найдется, то просто yum install make
Re: не работает команда make
Сообщение yint » 28.01.2009 18:31
]#
я так понял что перехожу в каталог root
Re: не работает команда make
Сообщение anarhist1 » 28.01.2009 18:34
Re: не работает команда make
Сообщение yint » 28.01.2009 18:41
]# yum install make
Loaded plugins: refresh-packagekit
fedora | 2.8 kB 00:00
updates | 2.3 kB 00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
—> Running transaction check
—> Package make.i386 1:3.81-14.fc10 set to be updated
—> Finished Dependency Resolution
Total download size: 480 k
Is this ok [y/N]: y
Downloading Packages:
make-3.81-14.fc10.i386.rpm | 480 kB 00:02
=============================== Entering rpm code ================================
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : make 1/1
================================ Leaving rpm code ================================
Installed:
make.i386 1:3.81-14.fc10
]#
я так понял это инсталировалось make
Иногда стандартная последовательность для компиляции программы не работает. Она начинает выводить различные ошибки и не компилирует программу. Что в таком случае делать? В этой статье описано как избавиться от множества часто встречающихся ошибок.
Внимание: В этой статье подразумевается, что у вас уже есть некоторое количество знаний в области работы с командной строкой и вы знаете как работать с менеджером пакетов вашего дистрибутива.
Мы можем разделить ошибки на три категории:
Ошибки при выполнении команды make
Ошибки при выполнении команды make install
(configure:) (error:) no acceptable cc found in
Вы используете для установки компилятор gcc, А переменная окружения CC отсутствует или не установлена. Убедитесь, что пакет gcc установлен, используя менеджер пакетов вашего дистрибутива. Если этот пакет не установлен, установите его. Если он установлен, попробуйте выполнить следующую команду:
Если это помогло, вы можете добавить эту команду в /etc/profile (это файл, содержащий команды, которые выполняются когда пользователь входит в систему) и тогда вам не придется набирать её снова.
(configure:) (error:) C++ preprocessor «/lib/cpp» fails sanity check
Ваш пакет g++ отсутствует или поврежден. Используйте Используйте менеджер пакетов вашего дистрибутива (или любой другой способ найти и установить пакет), чтобы найти пакет g++ и установить его. Не забудьте, что в некоторых дистрибутивах этот пакет называется не g++. Fedora, например, использует название gcc-c++ в соем репозитарии yum. Если вы не можете найти g++, попробуйте поискать c++, cpp или gcc.
(configure:) (error:) C++ preprocessor «CC (-E)» fails sanity check
Ошибки при выполнении команды make
Так как ошибки при выполнении команды make обычно очень специфичны, я дам список основных вещей, которые могут помочь:
Если она вернет что-то вроде этого:
]$ CC=»/usr/bin/gcc32″ make
[rechosen@localhost
]$ CC=»/usr/bin/gcc32″ make install
Конечно путь /usr/bin/gcc32 надо заменить на тот, по которому у вас находится альтернативная версия gcc.
Иногда ошибки могут вызваны простым «багом» программы. Попробуйте скачать последнюю версию программы (используя её cvs, svn или другой репозитарий, или скачав последний снимок) и скомпилируйте её, возможно эта ошибка уже исправлена.
Ошибка при выполнении комадны make может быть также вызвана неправильной версией необходимой библиотеки или программы. Эта проблема часто встречается для очень новых или очень старых пакетов. Проверьте зависимости пакета (они обчно написаны на сайте программы) и сравните номера версий с версиями, установленными у вас на компьютере (их обчно можно посмотреть, используя менеджер пакетов вашего дистрибутива). Если номер версии в вашей системе больше того, которые написан на сайте, возможно вы пытаетесь скомпилировать очень старый пакет. Если вам дейсвительно необходимо его скомпилировать, попробуйте установить более старые версии зависимых пакетов.Как бы то небыло, обычно лучше поискать другой способ установки этого пакета или поискать альтернативу. Если номер версии в системе меньше, чем на сайте, вы можете попробовать обновить соответствующий пакет.Вы можетепопробовать обновить требуемую библиотеку или скомпилировать более старую весию программы.Так же проверьте, может уже есть этот пакет, скомпилированный для авшего дистрибутива. Его установка, обычно, проще, чем исправление ошибок компиляции.
Не забудьте: чтобы применить патч, текущей должна быть директория с исходными текстами.
Ошибки при выполнении команды make install
Эти ошибки обычно легко понять, но я все равно про них напишу. Есть два наиболее частых случая, почему команда make install возвращает ошибку:
У вас нет прав пользователя root. Попробуйте выполнить команду make install, используя команду sudo, или станеть пользователем root, используя команду su. Команда sudo применяется следующим образом:
Она спросит пароль; обычно используется собственный пароль или пароль пользователя root. Вы можете испльзовать команду su, чтобы стать польpователем root:
Эта команда тоже спросит пароль, но в данном случае наобходим именно пароль пользователя root. После того, как вы стали пользователем root, просто выполните команду make install.
Пакет, который вы только что скомпилировали не имеет команды установки. В этом случае вам надо скопировать скомпилированный бинарный файл в директорию bin вручную. Если вы выполните команду ls в директории исходного кода, исполняемый файл должен быть светло зеленого цвета. Его надо скопировать в /usr/bin (или, если хотите, в /usr/local/bin) следующей командой:
Я согласен, что это не всегда самый простой способ, но иногда разработчики не тратят время на создание команды установки. Мы не должны на них сердиться за это: ведь прежде всего они делают для нас полезную программу.
Вот список некоторых других возможных проблем и их решения:
Все проходит хорошо, но когда я набираю имя программы, которую только что установил, bash говорить, что не может её найти. Это обычно происходит из-за того, что make install устанавливает все в /usr/local или in /opt/
. Посмотрите на вывод команды make install: куда скопированы файлы? Попробуйте добвавить эту директорию в переменную PATH (следующий пример приведен для пакета, установленного в /usr/local):
Вам надо заменить /usr/local/bin на директорию, в которой установлены исполняемые файлы вашего пакета. Если это помогло, добавьте эту строку в /etc/profile, чтобы вам не пришлось набирать её каждый раз. Кстати, вы можете контролировать место, куда установится пакет, указав следующую опцию, когда запускаете конфигурационный скрипт:
Измените /usr на директорию, в которую хотите установить пакет. Не забудьте, что вы устанавливаете только префикс; бинарные файлы установятся в свою поддиректорию, библиотеки в свою, заголовочные файлы в свою и т.д. Например при использовании указанного префикса, бинарные файлы будут установлены в /usr/bin.
Я хочу установить очень старую версию пакета, но я не могу найти исходный код в интернете. У вас еще остается маленький шанс. Попробуйте найти rpm файл пакета той версии, которую вы хотите и скачайте соответствующий src rpm файл. Распаковать его можно следующим образом:
Теперь можно использовать исходный код, извлеченный из rpm файла.
Это учебное пособие еще не закончено. Я планирую обновлять его, используя решения проблем, полученные от других пользователей. Поэтому я прошу вас комментировать эту статью и говорить, чтобы вы еще хотели увидеть в ней. Помните, что эта статья об основных ошибках. Не спрашивайте как скомпилировать определенную версию определенной программы. В любом случае, я надеюсь эта статья будет полезна для вас. Спасибо за прочтение и удачи в сложной, но увлекательной вещи, которая называется компиляция!
Kali Linux не реагирует на команду make
Установил себе на ноут linux kali и возникла необходимость скачать драйвер под свою сетевую карту. Нашел инструкцию на GitHub, но команда make и make install не работают. При чём никаких ошибок, после ввода ничего не происходит. build essential есть. В чем может быть проблема? Если нужно, вот гайд по которому делал: Github Скрин: http://savepic.net/9421585.htm
2. Смотрим файлы /lib/firmware/rtlwifi/rtl8723bs_nic.bin и /lib/firmware/rtlwifi/rtl8723bs_wowlan.bin.
Если они есть, то всё выполнилось.
Поставь плиз в теги kali linux, спасибо
Ты скачал только прошивки, сам модуль смержен в ядро (поэтому в гайде предлагают обновить ядро).
eventually merged into the kernel staging tree in time for kernel 4.12-rc1
поставь пакет command-not-found. вангую что нужно писать gmake
Или я вообще не то делаю? По возможности все разжевывать по шагам, в линуксе нуб полнейший
Имхо, проще обновить ядро до 4.12. Там еще патчи для предыдущих ядер были.
Patches that were shipped as part of this repository have mostly been subsided and obsoleted by upstream kernel fixes.
Compiling or running the driver on older kernels is not supported, please ask your distribution to provide updated kernel packages.
Откуда ж вы лезете. А если по теме то заглянь в Makefile.
Странно. Makefile содержит только одну цель install с 3 командами:
Т. е. он создаёт директорию /lib/firmware/rtlwifi/, если её нет, и записывает в неё 2 указанных файла. Права рута нужны для создания подкаталогов в каталоге /lib/ и записи туда файлов. Попробуй сделать то же самое руками, хотя я не понимаю, почему make этого не делает. Скорее всего, ты просто не там посмотрел.
eventually merged into the kernel staging tree in time for kernel 4.12-rc1
Verify kernel version after reboot
Команда make не нашла файла /lib/modules/4.9.0-kali4-amd64/build, который является символической ссылкой на каталог с исходниками ядра. Видимо, ты их не установил. Кстати, как видно из этого вывода, ядро у тебя 4.9.0.
Или я вообще не то делаю? По возможности все разжевывать по шагам, в линуксе нуб полнейший
Лучше поставь последнюю Ubuntu. Возможно, там нужный тебе драйвер будет уже из коробки. Но даже если и не будет, всё равно будет проще. А Kali не для новичков.
Я не знаю, откуда Samsky взял эту цитату
Судя по истории коммитов, исходники самого модуля и часть makefile отвечающая за сборку модуля была выпилена, так как смерджили с ядром. https://github.com/hadess/rtl8723bs/commit/3bb1d33ad98c1d77b5e17a1b707e137b35.
Гайд по сборке устарел и датирован 23.06.2015, что ввело ТС в заблуждение
да, кстати, хотел поинтересоваться — а для кого этот Kali?
новичкам он не подходит так как слишком криво работает, и тривиальные вещи могут обломаться на пустом месте..
профи он не подходит, так как профи привычнее работать в своей среде.
может Kali — для извращенцев-садомазахистов?
Судя по истории коммитов, исходники самого модуля и часть makefile отвечающая за сборку модуля была выпилена
Ну а модуль rtl8723bs в ядре появился в 4.12.















