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

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

Жанры

Шрифт:

Наиболее важная часть сообщения Линуса заключается в том, что файлы заголовков должны быть именно теми, с которыми компилировался пакет 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, программа будет выполнена.

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

Зодчий. Книга I

Погуляй Юрий Александрович
1. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга I

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов

Царь царей

Билик Дмитрий Александрович
9. Бедовый
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Царь царей

Двойник Короля 2

Скабер Артемий
2. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля 2

Лейтенант. Часть 2. Назад в СССР

Гаусс Максим
9. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лейтенант. Часть 2. Назад в СССР

Газлайтер. Том 21

Володин Григорий Григорьевич
21. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Газлайтер. Том 21

На границе империй. Том 10. Часть 5

INDIGO
23. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 5

Размышления русского боксёра в токийской академии Тамагава

Афанасьев Семён
1. Размышления русского боксёра в токийской академии
Фантастика:
альтернативная история
6.80
рейтинг книги
Размышления русского боксёра в токийской академии Тамагава

Древесный маг Орловского княжества 6

Павлов Игорь Васильевич
6. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 6

Император Пограничья 7

Астахов Евгений Евгеньевич
7. Император Пограничья
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Император Пограничья 7

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Петля, Кадетский корпус. Книга вторая

Алексеев Евгений Артемович
2. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
4.80
рейтинг книги
Петля, Кадетский корпус. Книга вторая

Изгой Проклятого Клана

Пламенев Владимир
1. Изгой
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Изгой Проклятого Клана

Личный аптекарь императора. Том 2

Карелин Сергей Витальевич
2. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 2