Slackware и L4Linix (libio-io)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
BratSinot
Сообщения: 812
ОС: Slackware64

Slackware и L4Linix

Сообщение BratSinot »

Доброго времени суток!

Пытаюсь тут поднять L4Linux, но возникла проблема. L4Re и Fiasco собрались, а когда собираю L4Linux, то получаю;
root@lBratSinot:/mnt/l4linux# make O=/mnt/L4LINUX
make[1]: Entering directory `/mnt/L4LINUX'
Package libio-io was not found in the pkg-config search path.
Perhaps you should add the directory containing `libio-io.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libio-io', required by 'libio', not found
Getting required compilation flags failed.
L4OBJ: /mnt/L4BUILD
L4_REQUIRED_MODS: libc_be_minimal_log_io libc_minimal libc_minimal_l4re libsupc++_minimal log l4re_c-util libio libvcpu shmc rtc
/mnt/l4linux/arch/l4/Makefile:361: *** Aborting.. Останов.
make: *** [sub-make] Ошибка 2

Что такое libio-io и откуда его взять?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Slackware и L4Linix

Сообщение Hephaestus »

Так-с...
Во-первых, во всяком нормальном тарболле есть файлы README и INSTALL, которых должно быть указано, что требуется для сборки и кто от кого зависит.
В Вашем случае такие файлы имеются?

Во-вторых на сайте сказано буквально следующее:
Building L4Linux and requisites
System Requirements

L4Linux is an L4Re application and therefore needs L4Re as its environment. Make sure you have your L4Re environment ready before proceeding with building L4Linux. If you haven't done so already proceed with downloading and building L4Re and come back here when done.

General remark: Keep both L4Linux and the other L4 components in sync and up to date to avoid problems. Also make sure to use the same compiler version to compile both the L4 tree and L4Linux.
То есть требуется ещё и L4Re Runtime Environment. Возможно, что недостающее есть именно там.
Судя по описанию на сайте там, кроме всего прочего, имеется

Services:

Scriptable program launching
Input/Output drivers
Platform and device management, including ACPI and PCI
Device Driver Environment
GUI multiplexer
Подозреваю, что выделенное мной в цитате как раз и содержит недостающий элемент.
Если, как Вы говорите L4Re собралось, проверьте, не забыли ли чего. Ключи, опции сборки и т.п.

И да, скажите, почему make у Вас выполняется от рута?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Slackware и L4Linix

Сообщение bormant »

make выполняется от рута?

Slackware, сэр.
Возможно, кто-то переносит приемы сборки проверенных компонентов системы на сборку сторонних компонентов. Возможно, проверит и сделает слакбилд.
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Slackware и L4Linix

Сообщение BratSinot »

Эм, а от кого мне еще make выполнять? До недавнего времени у меня кроме root'а никого и не было, просто достали многие программы, которые от него не запускаются.

И да, не надо мне тут про безопасность начинать, компьютер домашний, а прямые руки все решают. У меня под окнами от M$ за лет 7-10 без антивируса, firewall'а и при всех отключенных защитах ничего не случалось.

И да, я потому и спрашиваю что такое libio-io и куда оно входит, т.к. возможно multilib не до конца работает (для сборки L4Re он нужен), либо пакет стоит, а файлов нету и т.п.
А путь к L4Re вообще указывается в конфиге сборки. Хотя фиг его знает, помнится пару лет назад, когда пытался L4Re собрать, на большей части FS сборочный скрипт в бесконечный цикл уходил. В итоге создавал пустой файл на пару GiB, форматировал его в ext2 (на этот раз в F2FS), потом монтировал и в нем собирал.

Ладно, попробую еще пару вечеров поковыряться, а потом в рассылке спрошу.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Slackware и L4Linix

Сообщение Hephaestus »

bormant писал(а):
17.04.2015 20:27
Slackware, сэр.
И что? Не понял.

BratSinot писал(а):
17.04.2015 22:22
Эм, а от кого мне еще make выполнять?
Ну, как бы configure и make можно выполнять от пользователя. А вот make install уже надо от рута.
Я ведь это не троллинга ради спросил.
Совершенно точно могу сказать, что у меня бывало, и configure, и make, запущенные от рута, завершались с ошибкой, а от пользователя проходило нормально. Точно не знаю, то ли в путях там дело, то ли ещё в чём.

BratSinot писал(а):
17.04.2015 22:22
Ладно, попробую еще пару вечеров поковыряться, а потом в рассылке спрошу.
Ну, вот здесь человек столкнулся с аналогичной ошибкой. Вроде что-то там посоветовали ему, я глубоко не вникал. И хотя там сборка под ARM, но вдруг пригодится.


BratSinot писал(а):
17.04.2015 22:22
И да, я потому и спрашиваю что такое libio-io и куда оно входит, т.к. возможно multilib не до конца работает (для сборки L4Re он нужен), либо пакет стоит, а файлов нету и т.п.
Ну Вы когда собрали L4Re, посмотрите, из чего он там в итоге состоит.
Может этот libio-io там есть, только путь слегка другой, поэтому при сборке не обнаруживается.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Slackware и L4Linix

Сообщение Bizdelnick »

Hephaestus писал(а):
17.04.2015 22:54
Ну, как бы configure и make можно нужно выполнять от пользователя.

fixed
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Slackware и L4Linix

Сообщение BratSinot »

Совершенно точно могу сказать, что у меня бывало, и configure, и make, запущенные от рута, завершались с ошибкой, а от пользователя проходило нормально. Точно не знаю, то ли в путях там дело, то ли ещё в чём.

Ну фиг знает, у меня как раз наоборот :) Ибо постоянно приходится что-то добавлять, то пользователя в группы, то PATH фиксить (к примеру без этого отсутствовал sudo и еще несколько утилит).

А вообще, в тех-же SlackBuild'ах все равно все под root переделывается: "chown -R root:root ." :)

Кстати да, почитал что пишут по той ссылке и увидел, что в SVN'е есть нечто под названием l4linux_requirements, что есть в этом мануале, но нет в официальном.

Bizdelnick писал(а):
18.04.2015 00:45
Hephaestus писал(а):
17.04.2015 22:54
Ну, как бы configure и make можно нужно выполнять от пользователя.

fixed

Ваше дело, мне не претит собирать сразу под root'ом, дабы потом по пол-часа не решать возникшие проблемы (а они если возникнут, то обязательно непонятные).
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Slackware и L4Linix

Сообщение Bizdelnick »

BratSinot
У Вас configure или make пользователя в группы добавляет? И причём тут «фикшение PATH», это же просто переменная окружения?

BratSinot писал(а):
18.04.2015 00:56
в тех-же SlackBuild'ах все равно все под root переделывается: "chown -R root:root ."

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

BratSinot писал(а):
18.04.2015 00:56
мне не претит собирать сразу под root'ом, дабы потом по пол-часа не решать возникшие проблемы (а они если возникнут, то обязательно непонятные).

Непонятные проблемы возникают тогда и только тогда, когда бездумно делают под рутом вещи, которых под рутом делать не надо.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Slackware и L4Linix

Сообщение bormant »

Hephaestus
Патрик собирает пакеты дистрибутива своими слакбилдами от root-а. slackbuilds.org хранит слакбилды, собирающие пакеты для Slackware от root-а. Эта пара обстоятельств какую-никакую позицию формирует у пользователя. Причем оба источника с аргументом "это небезопасно" не спорят, но поясняют, что им так проще, а аргументирующим предлагают делать любым удобным способом, но самостоятельно.
То есть, это не про техническую часть ответ был, а про культурно-историческую :-)

Bizdelnick
Безусловно, можно делать как вы говорите, вот только в помянутых выше источниках владение меняют сразу после распаковки. С чем связано? Бывают исходники, запакованные от root-а, бывают от пользователя с другим UID или просто кривые права в архиве. Да, это менее безопасно, чем сборка от пользователя. Да, для тестирования вручную сборки и подготовки слакбилда лучше использовать обычного пользователя насколько возможно, желательно специального, у которого в /home ничего ценного нет, а лучше отдельную ВМ с эталонной установкой. Теперь есть overlayfs, с которой удобно протестировать, что при установке ничто не копируется мимо дерева пакета (нет упущенных разработчиком DESTDIR и аналогов).
Как только сборка отлажена и протестирована, собирать от root-а пакет не опаснее, чем от пользователя, ставиться-то он будет точно от root-а, и от него же будет исполняться установочный сценарий.

PS. Про бездумные действия от root-а -- кто бы спорил, но "можно от пользователя", "лучше от пользователя" не значат "нельзя от суперпользователя", можно, если осторожно.
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Slackware и L4Linix

Сообщение BratSinot »

Bizdelnick писал(а):
18.04.2015 01:04
У Вас configure или make пользователя в группы добавляет? И причём тут «фикшение PATH», это же просто переменная окружения?

Потому-что эта переменная окружения под root'ом включала /usr/sbin (вроде оно), а пользователь после adduser нет.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Slackware и L4Linix

Сообщение Bizdelnick »

bormant писал(а):
18.04.2015 08:45
Бывают исходники, запакованные от root-а, бывают от пользователя с другим UID или просто кривые права в архиве.

Код: Выделить всё

     --no-same-owner
           extract files as yourself (default for ordinary users)

По умолчанию владельцем файлов архива становится юзер, который его распаковал, если он — не root. По крайней мере в актуальной версии tar. Как обстоит дело в том реликте, который предпочитает использовать Патрик, я не знаю.

Что касается собственно сборки, то тут Hephaestus абсолютно прав. Сборка от обычного пользователя всегда проходит гладко (в крайне редких случаях из-за ошибки разработчика приходится сделать chmod на какой-то файл, но я конкретных примеров вспомнить не могу). А вот сборка от имени root вполне может обломаться. На эти грабли в своё время наступили разработчики ABF, которых, кстати, где-то за полгода до введения его в эксплуатацию предупреждали, что не надо так делать. Число не собиравшихся под root пакетов тогда измерялось десятками, а то и сотнями. Это не такой уж большой процент от пакетной базы Росы, но это и не мало. Причины были разные: чаще всего просто не проходили тесты, но были и более сложные случаи (всех подробностей сейчас уже не вспомню). При сборке каких-то программ просто выводилось сообщение, что, типа, нефиг собирать под root, не буду ничего делать.

( @ 18th April 2015 - в 08:45) писал(а):"можно от пользователя", "лучше от пользователя" не значат "нельзя от суперпользователя", можно, если осторожно.

Именно что осторожно. Но если человек говорит, что у него возникают «непонятные проблемы» при работе от обычного пользователя, значит, он не был осторожен, выполняя какие-то действия от имени root ранее. И не будет в следующий раз, коли проблема остаётся для него непонятной.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Slackware и L4Linix

Сообщение Bizdelnick »

BratSinot писал(а):
18.04.2015 10:14
Bizdelnick писал(а):
18.04.2015 01:04
У Вас configure или make пользователя в группы добавляет? И причём тут «фикшение PATH», это же просто переменная окружения?

Потому-что эта переменная окружения под root'ом включала /usr/sbin (вроде оно), а пользователь после adduser нет.

Да, по умолчанию так и должно быть. Но, во-первых, при сборке никакие программы из /usr/sbin обычно не требуются, а во-вторых, любую переменную окружения можно переопределить, и менять пользователя для этого нет совершенно никакой необходимости.
Неужели в Slackware sudo лежит в /usr/sbin? Сие очень странно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Slackware и L4Linix

Сообщение Hephaestus »

BratSinot писал(а):
18.04.2015 00:56
А вообще, в тех-же SlackBuild'ах все равно все под root переделывается: "chown -R root:root ."
Это переделывается уже потом, когда собрано.

BratSinot писал(а):
18.04.2015 00:56
мне не претит собирать сразу под root'ом, дабы потом по пол-часа не решать возникшие проблемы (а они если возникнут, то обязательно непонятные).
Я стараюсь придерживаться простого правила: всё, что можно сделать без прав рута, надо делать без прав рута. Хотя огрехи бывают, да.
Права рута - это на крайний случай, когда иначе не получается.

И дело даже не в том, что это опасно (хотя с правами рута можно одним движением обрушить систему).
А дело в том, что выполняя нечто от рута (компиляцию там или распаковку архива) в итоге получаются файлы, недоступные простому пользователю, хотя именно ему они по идее предназначены. Такое у меня тоже порой бывает, по рассеянности распакуешь какой-нибудь архив от рута, а потом простым пользователем эти файлы ни удалить, ни переместить, ни редактировать нельзя. Приходится опять становиться рутом и выставлять владельцев/права доступа.


Bizdelnick писал(а):
18.04.2015 10:24
Неужели в Slackware sudo лежит в /usr/sbin?
Никак нет. Лежит там, где и должно.

$which sudo

/usr/bin/sudo

Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Slackware и L4Linix

Сообщение bormant »

Bizdelnick писал(а):
18.04.2015 10:15
Как обстоит дело в том реликте, который предпочитает использовать Патрик, я не знаю.

Я вам подскажу:

Код: Выделить всё

$ tar --version
tar (GNU tar) 1.26

$ tar --help
...
      --no-same-owner        extract files as yourself (default for ordinary
                             users)
...
  -o                         when creating, same as --old-archive; when
                             extracting, same as --no-same-owner
("http://ftp.gnu.org/gnu/tar/") писал(а):tar-1.26.tar.xz 12-Mar-2011 05:50
tar-1.28.tar.xz 27-Jul-2014 17:00


Hephaestus писал(а):
18.04.2015 10:39
Это переделывается уже потом, когда собрано.
Например, bash: http://mirrors.slackware.com/slackware/sla...bash.SlackBuild

Код: Выделить всё

...
tar xvf $CWD/bash-$VERSION.tar.?z* || exit 1
cd bash-$VERSION || exit 1
chown -R root:root .
...
Убедиться в ложности вашего утверждения для остальной массы пакетов предлагаю самостоятельно.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Slackware и L4Linix

Сообщение Bizdelnick »

bormant писал(а):
18.04.2015 11:09
tar (GNU tar) 1.26

Я слышал, что для сборки пакетов используется более старая версия. Врут?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Slackware и L4Linix

Сообщение bormant »

Bizdelnick писал(а):
18.04.2015 11:44
для сборки пакетов используется более старая версия. Врут?
Если быть точным, то внутри makepkg действительно зовется /bin/tar-1.13 для упаковки в пакет дерева файлов, полученного по make instal DESTDIR=/tmp/pkg (и аналогичных команд), но к обсуждаемой теме этот вряд ли относится, поскольку makepkg -- это последняя команда слакбилдов (не считая опциональной зачистки сборочного мусора). Распаковка же исходников делается обычным tar-ом.

PS. Неплохо бы все морализаторство про root/не-root отрезать в отдельную тему, ибо к предмету обсуждения оно относится вряд ли больше, чем никак.
Спасибо сказали:
Ответить