Linux From Scratch
Шрифт:
ln -s libncurses.a /usr/lib/libcurses.a
Теперь можно продолжить инсталляцию Bash:
./configure –enable-static-link \ –prefix=$LFS/static –with-curses && make && make install
Если стадия make install выдает следующие сообщения об ошибках:
install-info: unknown option `–dir-file=/mnt/lfs/usr/info/dir' usage: install-info [–version] [–help] [–debug] [–maxwidth=nnn] [–section regexp title] [–infodir=xxx] [–align=nnn] [–calign=nnn] [–quiet] [–menuentry=xxx] [–info-dir=xxx] [–keep-old] [–description=xxx] [–test] [–remove] [–] filename make[1]: *** [install] Error 1 make[1]: Leaving directory `/mnt/lfs/usr/src/bash-2.05a/doc' make: [install] Error 2 (ignored)
это
Пояснения команд
–enable-static-link: Эта опция configure указывает на использование статических ссылок.
–prefix=$LFS/static: Эта опция configure инсталлирует все файлы Bash в директорию $LFS/static, которая будет именоваться /static после того, как мы войдем в систему LFS с помощью команды chroot или перезагрузки.
–with-curses: Эта опция связывает bash с библиотекой curses вместо устаревающей библиотеки termcap.
Совершенно необязательно связывать статическую версию bash с libncurses (можно связать ее с termcap, т.к. в любом случае мы перекомпилируем Bash в Главе 6 с использованием libncurses), однако это хороший способ убедиться, что пакет Ncurses установлен корректно. В обратном случае, это повлечет за собой сбои при инсталляции пакета Texinfo, которому необходима библиотека ncurses, т.к. с termcap он ведет себя нестабильно.
Символы && в конце каждой строки указывают на то, что следующая команда должна быть выполнена лишь в том случае, если предыдущая команда возвратила значение 0 на выходе, т.е. успешно завершила операцию. В том случае если вы копируете и вставляете эти команды в оболочку, не забывайте убедиться, что если скрипт ./configure дал сбой, не выполняется команда make, а также, если команда make дала сбой, не выполняется команда make install, и т.д.
Содержание Bash
Последняя проверка: версия 2.05a.
Программы
bash, sh (ссылка на bash) и bashbug
Описания
bash
bash – Bourne-Again SHell, широко используемый в Unix системах командный интерпретатор. Bash считывает данные со стандартного ввода, с клавиатуры. Пользователь вводит что-либо, интерпретатор распознает введенное и выполняет это, например запускает программу.
bashbug
bashbug – скрипт, помогающий пользователю составлять и отправлять сообщения об ошибках bash в стандартном формате.
sh
sh –
Зависимости Bash
Последняя проверка: версия 2.05a.
Bash: bash, sh Binutils: ar, as, ld, ranlib, size Diffutils: cmp Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Gawk: awk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info Textutils: cat, tr, uniq
Установка Binutils-2.13
Приблизительное время компиляции: 2.05 SBU Необходимое дисковое пространство: 160 MB
Установка Binutils
Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). Binutils рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета binutils. Изменяя оптимизации для binutils, вы действуете на свой страх и риск.
Для инсталляции Binutils выполните:
mkdir ../binutils-build && cd ../binutils-build && ../binutils-2.13/configure –prefix=$LFS/static –disable-nls && make LDFLAGS=-all-static && make install
Пояснения команд
mkdir ../binutils-build: В инструкциях установки Binutils рекомендуется создать отдельную директорию для сборки, вместо того, чтобы компилировать программу в директории исходников. Итак, мы создаем директорию binutils-build и будем работать из нее.
–disable-nls: Эта опция выключает поддержку интернационализации (или i18n), которая не нужна нам на стадии статически связанных программ, т.к. часто дает сбои при использовании статических ссылок.
LDFLAGS=-all-static: Присваиваем переменной LDFLAGS значение -all-static для того, чтобы использовать статические ссылки.
Содержимое Binutils
Последняя проверка: версия 2.12.1.
Программы
addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip
Описания
addr2line
addr2line переводит программные адреса в имена файлов и номера строк. Given an address and an executable, используется отладочная информация исполняемого файла, чтобы определить, какое имя файла и номер строки связаны с данным адресом.
ar
ar создает и изменяет архивы, а также производит их распаковку. Архив – файл, содержащий несколько файлов в виде, позволяющем восстановить оригинал.
as
as используется для ассемблирования вывода the GNU C Compiler, gcc для использования с линкером ld.