Приблизительное время компиляции: 1 SBU |
Перед тем как установить Bash, убедитесь, что в вашем базовом дистрибутиве есть файлы /usr/lib/libcurses.a и usr/lib/libncurses.a. Если ваш дистрибутив - LFS system, оба файла должны быть на месте при условии, что вы в точности следовади инструкциям книги.
Если этих файлов нет, следует установить пакет разработки Ncurses, его иногда называют ncurses-dev. Если этот пакет уже установлен, или вы только что его установили, проверьте наличие этих двух файлов еще раз. Зачастую файл libcurses.a отсутствует. В таком случае, создайте символическую ссылку libcurses.a, выполнив следующую команду в режиме пользователя root:
ln -s libncurses.a /usr/lib/libcurses.a |
Теперь можно продолжить инсталляцию Bash:
./configure --enable-static-link \ |
Если стадия 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)
это означает, что у вас Debian-2.2 (potato), в котором используется старая версия пакета texinfo. Данная ошибка не критична: страницы документации будут заново установлены в Главе 6, при перекомпиляции bash с динамическими ссылками. В текущем релизе Debian (3.0; известном под названием Woody) эта проблема отсутствует.
--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, и т.д.
Последняя проверка: версия 2.05a.
bash, sh (ссылка на bash) и bashbug
bash - Bourne-Again SHell, широко используемый в Unix системах командный интерпретатор. Bash считывает данные со стандартного ввода, с клавиатуры. Пользователь вводит что-либо, интерпретатор распознает введенное и выполняет это, например запускает программу.
bashbug - скрипт, помогающий пользователю составлять и отправлять сообщения об ошибках bash в стандартном формате.
sh - символическая ссылка на bash. Будучи вызванным как sh, bash имитирует запуск старых версий sh для лучшего соответствия стандартам POSIX.
Последняя проверка: версия 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 |