Файлы поддержки

Различные страницы руководства, не поставляемые с пакетами

Описания

Страницы руководства

Примеры предоставляемых страниц руководства – описания всех функций C and C++, файлов /dev/ и многое другое.

Зависимости Man-pages

Последняя проверка: версия 1.47.

Bash: sh Fileutils: install Make: make

Установка Glibc-2.2.5

Приблизительное время компиляции: 14.71 SBU Необходимое дисковое пространство: 369 MB

Инсталляция Glibc

Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.

Перед выполнением инсталляционных инструкций войдите в каталог glibc-2.2.5 и распакуйте архив glibc-linuxthreads в каталоге glibc-2.2.5, а не в /usr/src.

Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). Glibc рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета Glibc. Изменяя оптимизации для Glibc, вы действуете на свой страх и риск.

Также не стоит запускать скрипт configure с опцией –enable-kernel. Это может вызвать ошибки сегментации при ссылке на него пакетов вроде fileutils, make и tar.

Вообще, чтобы не рисковать, рекомендуем компилировать Glibc в точности как указано в этом разделе.

Для инсталляции Glibc выполните:

patch -Np1 -i ../glibc-2.2.5-2.patch && touch /etc/ld.so.conf && mkdir ../glibc-build && cd ../glibc-build && ../glibc-2.2.5/configure –prefix=/usr –disable-profile – enable-add-ons –libexecdir=/usr/bin && echo «cross-compiling = no» > configparms && make && make install && make localedata/install-locales && exec /static/bin/bash – login

Вместо выполнения make localedata/install-locales можно установить только те локали, которые вам необходимы с помощью команды localedef. Более подробную информацию можно найти в файле INSTALL в директории glibc-2.2.5. Не забудьте создать директорию /usr/lib/local, т.к. localedef предполагает ее наличие.

На данном этапе мы не будем инсталлировать страницы руководства потоков (The Linux Threads man pages), т.к. они требуют функционирующего пакета Perl. Мы вернемся к их инсталляции после установки Perl.

Во время стадии configure на экран будет выведено следующее предупреждение:

configure: warning: *** These auxiliary programs are missing or too old: msgfmt *** some features will be disabled. *** Check the INSTALL file for required versions.

Отсутствие файла msgfmt (из пакета gettext, который мы установим позже в данной главе) не вызовет никаких проблем. Файл msgfmt используется для генерирования бинарных файлов перевода, которые позволяют системе общаться на другом языке. Так как эти файлы перевода уже сгенерированы, в использовании msgfmt нет необходимости. Нам понадобился бы msgfmt лишь в том случае, если мы изменили исходники файлов перевода (файлы *.po в подкаталоге po), т.к. нам пришлось бы заново генерировать бинарные файлы.

Пояснения команд

patch -Np1 -i ../glibc-2.2.5-2.patch: Этот патч переводит все упоминания о $(PERL) на /usr/bin/perl в файле malloc/Makefile. Это необходимо, т.к. Glibc не может определить местонахождение программ Perl, так как пакет Perl еще не был установлен. Данный патч также заменяет все упоминания о root на 0 в файле login/Makefile. Это необходимо, потому что сам пакет Glibc еще не установлен, и выявление идентификационного номера пользователя <userid> из имени пользователя невозможно. К примеру, команда chown root file не будет работать, в то время как при замене имени пользователя на userid, программа будет выполнена.

Данный патч также устраняет некоторые другие ошибки, например, «errlist», «dns resolver», «xdr_array», «calloc», «thread exit», «udivdi3», «math test», «restrict_arr» и «divbyzero». Для получения более подробной информации, см. http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.

touch /etc/ld.so.conf: Один из заключительных шагов установки Glibc installation – выполнение команды ldconfig для обновления динамического кэша загрузки. Если этот файл не существует, инсталляция завершится с ошибкой, что не может прочесть файл. Для избегания подобной ошибки, мы просто создаем пустой файл (в случае пустого файла, Glibc будет по умолчанию использовать каталоги /lib и /usr/lib).

–disable-profile: Отменяет компиляцию библиотек с профильной информацией. Если вы собираетесь использовать профили, пропустите эту опцию.

–enable-add-ons: Включает дополнительные модули, в нашем случае linuxthreads.

–libexecdir=/usr/bin: Инсталлирует программу pt_chown в каталог /usr/bin.

echo «cross-compiling = no» > configparms: Этой командой мы даем понять, что компилируем пакет только для нашей системы. Кросс-компиляция используется, например, для того, чтобы скомпилировать пакет для системы Apple Power PC на Intel-совместимом компьютере. Glibc по умолчанию полагает, что мы кросс-компилируем, потому что не может скомпилировать тестовую программу для проверки, т.к. сам пакет Glibc еще не установлен.

exec /static/bin/bash –login: Данная программа запустит новый сеанс оболочки bash вместо текущего. Мы, таким образом, избавимся от приглашения «I have no name!» командной строки, которое было вызвано невозможностью bash получить имя пользователя из userid (из-за отсутствия Glibc).

Содержимое Glibc

Последняя проверка: версия 2.2.5.

Программы

catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, zdump и

Вы читаете Linux From Scratch
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату