источник для ChessX, кажется, файл .tgz
, который является сжатым архивом. Переместите его в пустой каталог и попробуйте tar -xzf chessx-1-0-0.tgz
. Вероятно, это будет распаковано в собственный каталог. Это каталог верхнего уровня, из которого требуется запустить qmake
.
Это позволит построить проект, но он может не установить его в расположение по умолчанию. Просмотрите каталог и проверьте наличие файла INSTALL или README.
Нужно ли
установить qmake
?
Если для qmake получена команда «command not found», да. Могут быть и другие вещи, которые необходимо установить; Я не знаю, насколько дружелюбен qmake в объяснении того, что это для вас.
-121--290527-
Было бы довольно много работы по редактированию множества makefile, ответственных за построение ядра, чтобы опустить шаги связывания и способ построения ядра вы можете не получить полную сборку, если вы попытаетесь это сделать.
Как упоминалось в комментариях bersch и goldilocks, промежуточными и заключительными шагами связывания являются просто объединение файлов .o в необходимые объекты. Можно выполнять проверку скомпилированных объектов как есть без изменения построения (хотя связывание все еще происходит), поскольку промежуточные объекты не удаляются.
При просмотре исходного дерева ядра, вызванного make
, для построения ядра можно найти любой файл .o
в том же каталоге, что и соответствующий исходный файл. Вам просто нужно определить файл, который вы хотите проверить, и найти его.
Например, если посмотреть на файлы в каталоге kernel/
, можно найти
acct.c
acct.o
async.c
async.o
audit.c
auditfilter.c
auditfilter.o
audit.h
audit.o
auditsc.c
auditsc.o
, а файлы .o
являются объектами, которые позже будут связаны. Это то, что вы пытаетесь проверить, и они там, если вы построили ядро.
Обратите внимание, что это не совсем тот процесс, на который вы надеялись, но не тратите много времени, чтобы узнать makefile сборки ядра (они большие и не совсем интуитивные) это, вероятно, ваш лучший вариант, чтобы выполнить то, что вы действительно хотите, чтобы проверить скомпилированные файлы. Если вы недовольны одним из объектов, вы можете изменить его исходный файл и повторно выполнить команду make
и, по сути, это даст вам те же результаты, что вы просили выполнить.
Попробуйте этот подход:
exten => sms,n,System(( echo "Subject: Old and New full SMS File from ${DONGLENAME}"; echo; cat /var/log/asterisk/sms.txt ) | sendmail -f from@gmail.com -t to@gmail.com)
Астериск выполняет ОДНУ команду. На самом деле лучший способ - написать сценарий Bash со всей логикой Bash и отправить ему только параметры. Конечно, вы можете использовать магию Bash, как в другом ответе, но здесь у вас есть две проблемы:
У вас также есть риск для безопасности, например, если в SMS есть специальные символы Bash, такие как « `», всегда будьте осторожны с ними.
Попробуйте это, должно сработать:
exten => sms,n,System((echo "Subject: Old and New full SMS File from ${DONGLENAME}" && cat /var/log/asterisk/sms.txt) | /usr/sbin/sendmail -f from@gmail.com -t to@gmail.com)
Привет,