Чтение онлайн

на главную - закладки

Жанры

Шрифт:

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

Заметьте, что нет ничего страшного в том, что исходные коды ядра находятся в директории /usr/src/linux. Главное, чтобы у вас не было символических ссылок /usr/include/{linux,asm}.

Содержимое Linux

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

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

Ядро Linux и его заголовочные файлы

Описания

Ядро Linux

Ядро – основа любой системы Linux. Когда компьютер включается и загружает Linux, первое, что загружается – ядро. Ядро инициализирует аппаратные компоненты системы: последовательные и параллельные порты, звуковые и сетевые карты, контроллеры IDE и SCSI и многое другое. In a nutshell the kernel makes the hardware available so that the software can run.

linux kernel headers

Это файлы, которые мы копируем в /usr/include/{linux,asm} в 5-й главе. Они должны соответствовать тем, с которым был скомпилирован glibc, и поэтому не должны быть заменены при смене ядра. Они имеют ключевое значение для компиляции многих программ.

Зависимости Linux

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

Bash: sh Binutils: ar, as, ld, nm, objcopy Fileutils: cp, ln, mkdir, mv, rm, touch Findutils: find, xargs Gcc: cc1, collect2, cpp0, gcc Grep: grep Gzip: gzip Make: make Gawk: awk Modutils: depmod, genksyms Net-tools: dnsdomainname, hostname Sed: sed Sh-utils: basename, date, expr, pwd, stty, uname, whoami, yes Textutils: cat, md5sum, sort, tail

Установка Man-pages-1.52

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

Инсталляция Man-pages

Для инсталляции Man-pages выполните:

make install

Содержимое Man-pages

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

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

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

Описания

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

Примеры предоставляемых страниц руководства – описания всех функций 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 на в файле login/Makefile. Это необходимо, потому что сам пакет Glibc еще не установлен, и выявление идентификационного номера пользователя <userid> из имени пользователя невозможно. К примеру, команда chown root file не будет работать, в то время как при замене имени пользователя на userid, программа будет выполнена.

Поделиться:
Популярные книги

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Неучтенный элемент. Том 8

NikL
8. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 8

Глобальный человейник

Зиновьев Александр Александрович
Документальная литература:
критика
прочая документальная литература
публицистика
6.40
рейтинг книги
Глобальный человейник

В логове нечисти

Саймак Клиффорд Дональд
Фантастика:
научная фантастика
8.00
рейтинг книги
В логове нечисти

Тринадцатый VI

NikL
6. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый VI

Облава на волка

Серегин Михаил Георгиевич
Детективы:
боевики
5.00
рейтинг книги
Облава на волка

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
6.00
рейтинг книги
По осколкам твоего сердца

Бальмануг. (Не) Любовница 2

Лашина Полина
4. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бальмануг. (Не) Любовница 2

Черный Маг Императора 12

Герда Александр
12. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 12

Между двух миров

Синклер Эптон Билл
Проза:
классическая проза
5.00
рейтинг книги
Между двух миров

Тринадцатый X

NikL
10. Видящий смерть
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Тринадцатый X

Том 3. Рассказы 1896-1899

Горький Максим
3. Собрание сочинений в тридцати томах
Проза:
русская классическая проза
5.00
рейтинг книги
Том 3. Рассказы 1896-1899

Вселенский стриптиз

Степнова Ольга Юрьевна
Детективы:
иронические детективы
8.07
рейтинг книги
Вселенский стриптиз

Архонт

Прокофьев Роман Юрьевич
5. Стеллар
Фантастика:
боевая фантастика
рпг
7.85
рейтинг книги
Архонт