LINUX.ORG.RU

23
Всего сообщений: 116

LFS 8.3 Ошибки при сборе Grep 3.1

Первый раз собираю LFS 8.3 хост Ubuntu 18.04 При сборке и тесте Grep 3.1 (п 5.25 ) получаю сообщение XFAIL=1

============================================================================
Testsuite summary for GNU grep 3.1
============================================================================
# TOTAL: 109
# PASS:  59
# SKIP:  48
# XFAIL: 1
# FAIL:  0
# XPASS: 1
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to bug-grep@gnu.org
============================================================================
Makefile:1742: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/mnt/lfs/sources/grep-3.1/tests'
Makefile:1848: recipe for target 'check-TESTS' failed
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory '/mnt/lfs/sources/grep-3.1/tests'
Makefile:2684: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/mnt/lfs/sources/grep-3.1/tests'
Makefile:1301: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
 

До этого шага всё вроде было «ровно», то есть без ошибок

XFAIL triple backref

 ,

wlamaz ()

Снести .la архивы у установленного софта

Здравствуйте. Ставлю LFS/BLFS и столкнулся с одной трудностью - не могу никак въехать в суть проблемы. http://www.linuxfromscratch.org/blfs/view/stable/introduction/la-files.html. Если коротко, то предлагается снести почти все libtool архивы (.la) и подправить все файлы от pkg-config так, чтобы они ссылались на обычные либы. Аргументация примерно такая (как я понял) - мол какая-то либа может обновиться и не использоввать больше libtool, и последующая линковка с такой либой вызовет ошибку. Я нахожу это ерундой какой-то, ну если она обновится, то обновит и .pc файл от pkg-config и не будет больше линковаться с .la libtool архивом. Я чего-то не допонял? Действительно разумно сносить .la архивы от устанавливаемого софта? Хочу понимать что делаю, а не просто копипастить. Слова автора

The problem is that libtool usually creates one or more text files for package libraries called libtool archives. These small files have a ".la" extention and contain information that is similar to that embedded in the libraries. When building a package that uses libtool, the process automatically looks for these files. If a package is updated and no longer uses the .la file, then the build process can break.

 ,

pavlick ()

Одинаков ли «временный набор инструментов» для LFS-8.3 и LFS-8.3-systemd?

Доброго времени суток. Я тут собрал LFS temporary tools используя руководство из книги LFS-8.3.

Вопрос: можно ли использовать данный набор инструментов для сборки systemd-версии LFS-8.3?

 ,

watsoon ()

Как правильно создать livecd

Есть собранный LFS 8.3, который успешно грузится с hdd. Теперь пытаюсь из него livecd сделать:

cd $LFS; ln -s /sbin/init init;
find . | cpio -o -H newc | gzip -9 >/media/iso/boot/initramfs.cpio.gz
cp $LFS/boot/vmlinuz /media/iso/boot/linux

В /media/iso/boot/ есть загрузчик isolinux с таким конфигом:

default linux
prompt 1
timeout 300
display boot.msg

label linux
  kernel /boot/linux
  append initrd=/boot/initramfs.cpio.gz

iso'шник делаю так:

cd /media/iso
mkisofs -z -R -l --allow-leading-dots -D -o ../lfslivecd-8.3.iso -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "lfslivecd-8.3" ./

Распакованная initramfs весит 1.7GB, памяти на тестовой виртуалке выделено 3GB.
В итоге загрузка виснет в таком виде: https://i.imgur.com/YzNOtKC.png

Как исправить?

 ,

dadd ()

Консоль поломалась

Привет, пытаюсь собрать LFS по инструкции. Быстро запарившись компилировать кучу софта, я решил немного автоматизировать процесс (создать скрипт). Но bash, в котором я произвожу все манипуляции, стартует таким образом:

lfs:~$ cat .bash_profile 
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

lfs:~$ cat .bashrc
set +h
umask 022
LFS=/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
В результате этого я не могу написать нормально скрипт (не происходит pathname expansion в скрипте, не могу создать файл - ругается на права доступа, ...). Я подумал, что дело в каких-то переменных окружения, объявил кучу всяких из полноценной консоли - не помогло. Ребята, навскидку - как подчинить консоль? Предвосхищая вопросы - нет, на сборку LFS меня побудила не наркозависимость и не скудная личная жизнь ))

 ,

pavlick ()

Вышел LFS 8.3

Сабж. Состоялся релиз новой версии самого лучшего дистрибутива!

Новые версии: acl-2.2.53, attr-2.4.48, automake-1.16.1, binutils-2.31.1, bison-3.0.5, coreutils-8.30, dbus-1.12.10, e2fsprogs-1.44.3, elfutils-0.173, expat-2.2.6, file-5.34, gawk-4.2.1, gcc-8.2.0, gdbm-1.17, glibc-2.28, iproute2-4.18.0, lfs-bootscripts-20180820, linux-4.18.5, man-db-2.8.4, man-pages-4.15.tar, meson-0.47.1, openssl-1.1.0i.tar.gz, perl-5.28.0, procps-ng-3.3.15, Python-3.7.0, sed-4.5, shadow-4.6, sysvinit-2.90, tzdata2018e, util-linux-2.32.1, vim-8.1, xz-5.2.4.

Остальное по версиям осталось на уровне LFS 8.2 (релиз был 3-его марта).

Скачать LFS 8.3 можно здесь: http://linuxfromscratch.org/lfs/downloads/8.3/
Исходники одним тарболом: http://ftp.lfs-matrix.net/pub/lfs/lfs-packages/lfs-packages-8.3.tar
Дамп книги plaintext'ом с шириной 120 столбцов (для FullHD терминалов): http://saahriktu.org/LFS-BOOK-8.3-NOCHUNKS.txt.lzma

Также доступна книга BLFS 8.3: http://linuxfromscratch.org/blfs/downloads/stable/BLFS-BOOK-8.3-nochunks.html
Дамп книги plaintext'ом с шириной 120 столбцов (для FullHD терминалов): http://saahriktu.org/BLFS-BOOK-8.3-nochunks.txt.lzma

 ,

saahriktu ()

Не работают команды вроде bash и ls

Собираю LFS. В какой-то момент в chroot-е перестали работать уже собранные и установленные приложения из системных каталогов. Приложения из временных каталогов, собранные ранее из хост-системы, работают. С PATH всё нормально. Права на выполнение стоят. ls и find из временных каталогов нужные файлы находит, но выполнятся они не собираются.

У меня такое раньше было на 64-битных системах при выполнении 32-битных программ, когда не была установлена 32-битная libc. С libc тут вроде всё в порядке.

Что посоветуете?

 , , , ,

meliafaro ()

DFS

ваш любимый дебъян с нуля

 , ,

eR ()

Linux From Scratch 8.2 expect5.45.4 make error

Помогите пожалуйста. Делал все по книге, все тесты прошли успешно, все пакеты стоят вплоть до tcl. Застрял на expect. все было нормально до этих строк: lfs@kos-HP-Elite-7500-Series-MT:/mnt/lfs/sources/expect5.45.4$ make

/mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libutil.so.1, needed by /mnt/lfs/sources/expect5.45.4/libexpect5.45.4.so, not found (try using -rpath or -rpath-link) /mnt/lfs/tools/bin/../lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libpthread.so.0, needed by /tools/lib/libtcl8.6.so, not found (try using -rpath or -rpath-link) /tools/lib/libtcl8.6.so: undefined reference to `pthread_setspecific@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_getspecific@GLIBC_2.2.5' /mnt/lfs/sources/expect5.45.4/libexpect5.45.4.so: undefined reference to `openpty@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_key_delete@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_key_create@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_create@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_join@GLIBC_2.2.5' /tools/lib/libtcl8.6.so: undefined reference to `pthread_attr_setstacksize@GLIBC_2.2.5' collect2: error: ld returned 1 exit status Makefile:391: recipe for target 'expect' failed make: *** [expect] Error 1

полный файл: https://drive.google.com/open?id=1trZF0hF_3cf8Y0JalEJtA5_4cKcUL__5

 , , , ,

Konstantin2222 ()

Raspberry Pi 1 всё ещё жив

Когда я в прошлом году добыл себе ещё и Raspberry Pi 3 я и не думал закапывать Raspberry Pi 1. В моих планах было продолжение Pisaahriktux'а для Raspbeery Pi 1, а также создание 1.5OSaahriktux'а для Raspberry Pi 3 (хотя именно до всего этого, к сожалению, в прошлом году основательно так и не добрался).

Однако, в этом году стало очевидно, что образы PiLFS'а для Raspberry Pi 1/2 заморожены с 2016-го года. Конечно, многое можно было бы и самому обновить в старом образе, но ядро и компилятор точно остались бы старыми. Конечно, и такое можно юзать. Однако, я связался с автором PiLFS'а и спросил его про образ для Raspberry Pi 1. И вот что он ответил:

not necessarily end of life but I have to dig out my RPi 1 from a box and set aside 48 hours of my weekend to build a new one :)

Right now I don't have that kind of spare time.

Так что, новому Pisaahriktux'у для Raspberry Pi 1 таки быть.

А вот свежий PiLFS для Raspberry Pi 3 на днях уже появился. Так что, я уже могу подбираться к сборке 1.5OSaahriktux'а для Raspberry Pi 3 на его основе.

 , , ,

saahriktu ()

Clang - не линкует

При попытке компиляции чего либо клангом 6.0.0 вылезает это

clang -v test.c      
clang version 6.0.0 (tags/RELEASE_600/final)
Target: x86_64-fantomos-linux-musl
Thread model: posix
InstalledDir: /bin
Found candidate GCC installation: /bin/../lib/gcc/x86_64-fantomos-linux-musl/7.3.0
Found candidate GCC installation: /bin/../lib64/gcc/x86_64-fantomos-linux-musl/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-fantomos-linux-musl/7.3.0
Found candidate GCC installation: /usr/lib64/gcc/x86_64-fantomos-linux-musl/7.3.0
 "/usr/bin/clang-6.0" -cc1 -triple x86_64-fantomos-linux-musl -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /usr/lib/clang/6.0.0 -internal-isystem /usr/local/include -internal-isystem /usr/lib/clang/6.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/test-0cf31c.o -x c test.c
clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target x86_64-fantomos-linux-musl
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/clang/6.0.0/include
 /usr/include
End of search list.
 "/bin/ld" -pie --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib/ld-musl-x86_64.so.1 -o a.out /usr/bin/../lib64/Scrt1.o /usr/bin/../lib64/crti.o crtbeginS.o -L/usr/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/bin/../lib -L/lib -L/usr/lib /tmp/test-0cf31c.o /usr/lib/clang/6.0.0/lib/linux/libclang_rt.builtins-x86_64.a -lc /usr/lib/clang/6.0.0/lib/linux/libclang_rt.builtins-x86_64.a crtendS.o /usr/bin/../lib64/crtn.o
/bin/ld: error: cannot open crtbeginS.o: No such file or directory
/bin/ld: error: cannot open crtendS.o: No such file or directory
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)

Работает, если положить crtbeginS.o и crtendS.o в текущую папку. Как это починить? Эти файлы лежат в /usr/lib/gcc/x86_64-fantomos-linux-musl/7.3.0, однако сам гцц там не стоит.

UPD. Решено. Надо было все файлы из папки /tools/lib/gcc/x86_64-fantomos-linux-musl/7.3.0 скинуть в /usr/lib/gcc/x86_64-fantomos-linux-musl/7.3.0

 , ,

MikeWortin ()

firefox и gtk

а последние firefox вообще можно собрать с alsa вместо пульсы и без наличия в системе gtk2? кто-нибудь подобными збочинствами наслаждался? или весь этот ваш треп за «gtk2 - жмур» - таки полный треп?

 , , , ,

ananas ()

PiDGiN Linux

Хотел в 2006-2007 году сделать свою LFS-сборку (linux+uclibc+busybox на основе Gentoo- и FreeBSD-патчей, частью собиралось в buildroot). Научился собирать ISO, делал для него deb-файлы. Даже название выбрал, и бегал с ником PiDGiN в Linux-игрушке Eternal Lands. Но через несколько месяцев это слово «забили» под Instant messenger GAIM. А потом я женился.

Вопрос. Как нынче собирают LFS? Какое руководство самое современное и актуальное?

В 2005-2006 году советовался с друзьями из KirovLUG - сейчас почти все эти люди разъехались из Кирова.

 , ,

pacify ()

Будет ли работать собраное ядро на другой машине?

Хочу собрать LFS на внешнем жестком диске, вопрос в чем, будет ли грузиться ядро если я например первым его соберу на процессоре AMD Athlon II X4, а затем уже подключу Ж/Д к другому компьютеру с Intel I5, будет ли все функционировать?

 ,

playX ()

Безопасна ли ваниль?

Возьмём простого хомячка (меня) который вместо далее-далее-далее-[x] создать ярлык на рабочем столе-готово зазубрил три команды ./configure && make && make DESTDIR=/usr/local install, но при этом как у всякого другого хомячка вдаваться в тонкости и ньюансы нет ни времени, ни особого желания, а хочется чтобы система просто работала и была безопасной, и при этом знать буквально каждый пакет в системе, с какими флагами тот собран — безопасность так же означает и полный контроль над системой.

Взглянуть на типичный дистрибутив Arch Linux, где самый простой пакет «linux» поставляется с несколькими патчами, а ещё с каким-то микрокодом intel в виде дополнительного образа подгружающегося при загрузке... надо ли оно всё? Это для безопасности предусмотрено или как? Хочется надеятся, что подобные сущности плодятся не из необходимости, а чтобы впоследствии исправлять ошибки в результате собственных же нагромождений, типа «тут мы захотели сделать так, но из-за этого вон та шняга отвалилась, но мы сделали для неё патч и теперь всё ок» — вот для этого делаются патчи, а не из реальной необходимости.

Хочется надеяться, что если использовать ваниль «как есть», то и проблем с ней не будет. Так ли это?

Вы знаете истории успеха, где LFS, Slackware или CRUX используются в интерпрайзе по причине, что они просты как пять копеек, разобраться в них не составляет труда, а значит исправлять ошибки (в т.ч. ошибки в безопасности) можно самостоятельно, не дожидаясь апстрима.

Или всё это фигня, хочешь безопаности — молись на Debian, Red Hat и всегда будь в курсе новостей, своевременно обновляй систему чтобы она была просто безопасной?

 , ,

Spoofing ()

Как собрать универсальное ядро Linux для любой машины?

Собираю Linux From Scratch и хочу собрать универсальное ядро, с поддержкой всего железа модульно, но при этом не связываясь со всякими initrd. Хочу чтобы на любой машине можно было просто распаковать тарбол с системой, настроить граб и сразу пользоваться.

Можно ли это сделать? И как? В бинарных дистрибутивах эту проблему как-то же решают.

Когда-то на генте пробовал сконфигурировать ядро так

make allmodconfig

чтобы собрать все модулями, и оно не загрузилось.

P.S. Речь идет об архитектуре x86_64

 , , ,

watsoon ()

Сборка GCC 7.2.0

Помогите решить задачу.
Условие: собрать кросс GCC 7.2.0 по методу CLFS не меняя сорцы.

Пункты 5.13 и 5.14 я успешно решил с помощью спекфайла, а в 5.15 естественно gcc не собирается, не находит библиотеки glibc. Пробовал с LDFLAGS="-Wl,-L/tools/lib -L/tools/lib64,-rpath,/cross-tools/lib" при таком варианте вроде как не могут пройти какие-то тесты, по крайне мере не ругается что не может найти crti.o. Есть советы, которые помогут решить данную задачку?

 ,

evanation ()

Porg: установка, удаление, обновление программ

Подскажите по программе Porg. Можно ли обновлять программы с использованием одного и того же имени в porg? Например я установил foo версия 1 под именем «foo». Программа записала файл1, файл2, файл3. Через некоторое время я устанавливаю foo версия 2 под тем же именем «foo» и эта версия обновлет файл1, файл2 и записывает новый файл4, а файл3 ей уже не нужен для этой версии. Можно при таком методе отследить в porg что файл3 уже не нужен? Или каждую версию нужно под своим именем устанавливать?

 , ,

evanation ()

Установка Portage на LFS

В общем, поставил генту, но, к сожалению, не получил желаемого уровня кастомизации. Знаю, что есть еще нижележащие Stages, но немного поглядываю на LFS. Мне интересно, можно ли поставить Portage на LFS, и чтоб всё хорошо было? Там ведь как его поставишь, всё пойдет в русле Gentoo, но зато система начальная будет настроена вручную «под себя». Какие подводные? Сейчас как раз каникулы, будет чем занять себя.

Хочу сказать, что мне не хочется постоянно какой-то низкоуровневой фигней заниматься, а хочется именно настроить систему «под себя» с нуля, чтоб знать какой пакет что делает, а потом поставить Portage и наслаждаться.

 

letni ()

Поверхностное сравнение базовой части LFS'а, Slackware, Debian'а и CentOS'а

Провёл тут сабжевый анализ. Из стандартных базовых LFS'овских пакетов в Slackware не досчитался:

  • check (есть на slackbuilds.org)
  • dejagnu (есть на slackbuilds.org)
  • libpipeline
  • systemd
  • udev-lfs (ожидаемо)
  • XML-Parser

Кроме этого обнаружился ряд особенностей:

  • Вместо inetutils в Slackware присутствуют iputils + traceroute + net-tools;
  • Вместо iana-etc в Slackware присутствуют etc + network-scripts;
  • procps, psmisc и procinfo в Slackware объединены в пакет procps;
  • Вместо tzdata в Slackware glibc-zoneinfo;

Использование связки iputils + traceroute + net-tools также оказалось характерным для CentOS'а, а вот в Debian'е таки inetutils в покрошенном на кучу мелких пакетиков виде.

Собственно, все эти dejagnu и libpipeline'ы с XML-Parser'ами были обнаружены в базовых репозиториях Debian'а и CentOS'а.

Ну, а так, конечно, некоторые особенности остались за кадром этого текста. Например, использование Debian'ом bsdutils'ов.

PS. Слакбилд для libpipeline можно взять у PhantomX'а: https://github.com/PhantomX/slackbuilds/blob/master/libpipeline/libpipeline.S... .

 , , ,

saahriktu ()