Предупреждение:
Когда вы делаете:
cmd | head
, и если вывод усечен, это может привести к тому, что cmd
будет уничтожен SIGPIPE, если он запишет больше строк после выхода head
. Если это не то, что вы хотите, если вы хотите, чтобы cmd
продолжал работать после этого, даже если его вывод отбрасывается, вам нужно будет прочитать, но отбросить оставшиеся строки вместо выхода после того, как 10 строк были выведены, например (, с sed '1,10!d'
или awk 'NR<=10'
вместоhead
).
Итак, для двух разных подходов:
cmd | awk 'NR>5 {print "TRUNCATED"; exit}; {print}'
cmd | sed '6{s/.*/TRUNCATED/;q;}'
Обратите внимание, что mawk
реализация awk
накапливает буфер -, полный входных данных, прежде чем начать его обработку, поэтому cmd
не может быть уничтожен, пока не запишет буфер -, полный (8 КБ. в моей системе AFAICT )данных. Это можно обойти -с помощью опции -Winteractive
.
Некоторые реализации sed
также считывают одну строку заранее (, чтобы иметь возможность узнать, какая строка является последней при использовании $
адреса ), поэтому с ними cmd
можно убить только после он вывел свою 7 -ю строку.
cmd | awk 'NR<=5; NR==6{print "TRUNCATED"}'
cmd | sed '1,6!d;6s/.*/TRUNCATED/'
Проблема в том, что у вас нет заголовков языка C для библиотек X11. В Linux файлы заголовков обычно не упаковываются вместе с реальными библиотеками, поскольку они никогда не нужны для запуска программ, использующих библиотеки. Вместо этого они предоставляются в отдельных пакетах.
Программное обеспечение, которое вы пытаетесь скомпилировать, зависит от инструмента fontconfig
, а также от библиотек libX11
и libXft
и связанных файлов заголовков. Это соответствует файлуREADME.md
программного обеспечения.
Инструмент fontconfig
доступен в виде пакета fontconfig
в Void Linux (, вам также может понадобиться fontconfig-devel
), а две библиотеки будут доступны в виде четырех пакетов libX11
, libX11-devel
, libXft
и libXft-devel
. Это пакеты -devel
, которые вам нужны для файлов заголовков. После компиляции программного обеспечения их можно снова удалить (, по крайней мере, они больше не будут использоваться для этой конкретной задачи ). Другие пакеты необходимы для запуска любого программного обеспечения, которое вы компилируете.
У вас также не установленcc
(компилятор C ). Этот (, а также многие другие инструменты, используемые для создания программного обеспечения ), предоставляются метапакетом base-devel
в Void Linux.
Поскольку я не пользователь Linux, я не могу это проверить.