Читаем Linux From Scratch полностью

Совершенно необязательно связывать статическую версию 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. Будучи вызванным как sh, bash имитирует запуск старых версий sh для лучшего соответствия стандартам POSIX.

Зависимости 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.

gasp

gasp – Assembler Macro Preprocessor.

gprof

gprof отображает статистику системных вызовов.

ld

ld объединяет несколько объектных и архивных файлов и устанавливает символьные отношения. Последний шаг в сборке скомпилированной программы – запуск ld.

nm

nm перечисляет символы из объектных файлов.

objcopy

objcopy utility копирует содержимое одного объектного файла в другой. objcopy использует библиотеку GNU BFD для чтения/записи объектных файлов. Возможна запись конечного объектного файла в формате, отличном от исходного.

objdump

objdump выводит информацию об одном или нескольких объектных файлах. Опции указывают, какую информацию выводить. Эта информация полезна для программистов, разрабатывающих компиляторы, в противоположность тем, кому нужно просто скомпилировать и запустить программу.

ranlib

Перейти на страницу:

Похожие книги

Недокументированные и малоизвестные возможности Windows XP
Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. Р' ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows. Тем более что довольно часто эти возможности позволяют обойти ограничения на те или иные функции Windows, установленные администратором. Р

Роман Александрович Клименко

ОС и Сети, интернет / ОС и Сети / Книги по IT