HOWTO Переход на NPTL

Материал из Википедии - свободной энциклопедии.

Вернутся в раздел руководства


Содержание

Что такое NPTL?

Native POSIX Thread Library (http://people.redhat.com/drepper/nptl-design.pdf) (NPTL) - это библиотека потоков POSIX, которая, в отличии от предыдущих попыток, находится в ядре на очень высоком уровне. Это позволяет достигнуть максимальной производительности при минимальном затрате ресурсов. NPTL разрабатывалась как замена устаревшей библиотеке linuxthread. Главное преимущество NPTL перед linuxthreads для пользователей в том, что она быстрее (подробнее в PDF-документе). Для программистов она лучше тем, что стала более posix-совместима.

Использование NPTL

Если вы хотите использовать NPTL с самого начала (то есть с момента установки системы), то вам необходимо запустить скрипт

bootstrap-2.6.sh. Wiki-статья HOWTO Gentoo 2004.2 for linux 2.6 and NPTL совместно с этим HOWTO и c этой веткой форума (http://forums.gentoo.org/viewtopic.php?t=169054) даст вам необходимую информацию. Убедитесь что у вас есть официальная документация по установке, так как это всего лишь ее небольшая часть. Дальнейшая установка не зависит от выбора библиотеки потоков.

Переход на NPTL

Также возможно перейти на NPTL и после установки. Вам будет необходимо установить linux26-headers и удалить linux-headers,если вы их все еще используете. Для всего нижеперечисленного необходимо ядро ветки 2.6. Подразумевается,что система и нужное ядро уже установлены.Начнем:

Добавьте USE-флаги nptl и nptlonly в /etc/make.conf Затем:

emerge unmerge linux-headers
emerge --oneshot linux26-headers
emerge glibc

После перезагрузки у вас будет NPTL. Проверить наличие NPTL можно командой

/lib/libc.so.6

или

/lib/tls/libc.so.6

Вот что приблизительно должно отобразиться:

Code: Вывод Libc.so.6
GNU C Library 20041102 release version 2.3.4, by Roland McGrath et al.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7).
Compiled on a Linux 2.6.8 system on 2004-12-21.
Available extensions:
       GNU libio by Per Bothner
       crypt add-on version 2.1 by Michael Glad and others
       Native POSIX Threads Library by Ulrich Drepper et al
       The C stubs add-on version 2.1.2.
       GNU Libidn by Simon Josefsson
       BIND-8.2.3-T5B
       NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
Примечание 
Вам также может потребоваться переустановка nvidia-glx если XMMS или MPlayer будут работать не корректно.

Замечания

Дополнительная информация

В соответствии с данным постом (http://tim.littlebluefrog.com/archives/000083.html) - вам не обязательно нужно использовать 2.6 ядро чтобы собрать glibc с поддержкой NPTL. Конечно с ядром 2.4 вы не сможете по-настоящему использовать NPTL, для этого необходимо ядро с портированной поддержкой NPTL.

Это обсуждение (http://www.mail-archive.com/gentoo-dev@gentoo.org/msg02463.html) также интересно.

Часто встречающиеся ошибки

Если установка libc прерывается с ошибкой the virtual/os-headers package conflicts with with another package. both can't be installed on the same system together (это указывает на sys-kernel/linux-headers и linux26-headers-*), то вы забыли удалить пакет linux-headers

Также убедитесь что переменная CHOST из /etc/make.conf равна i686. В противном случае поддержка NPTL скомпилирована не будет.

А у меня на i586 скомпилилась, что я сделал не так?. :--Dron 12:39, 16 Фев 2005 (GMT) Начиная с i586 будет собираться

FAQ

Смогу я удалить NPTL и переустановить glibc без нее?
Да. Нет никаких обратных эффектов после удаления NPTL.
Она будет работать с GCC 3.4?
Да. NPTL полностью совместима с GCC 3.4.
Какие еще пакеты кроме glibc используют NPTL?
Ximian OpenOffice, Wine и Mono в настоящее время используют ее. Я надеюсь, что вы выполните
emerge --newuse world после переключения на NPTL для переустановки пакетов с обновленными USE-флагами.
Личные инструменты
advertisement
Другие языки