# Переход на nptl

## Obrubok

Привет.

Имеется Gentoo, установленная из stage3:

# uname -a

Linux l1 2.6.19-gentoo-r5#1 SMP Sat Mar 10 17:23:28 2007 i686 Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz GenuineIntel GNU/Linux

По руководству: http://www.gentoo.org/doc/en/change-chost.xml, перешел на i686,

далее используя http://gentoo-wiki.com/HOWTO_Migrate_to_NPTL, добавляю в make.conf nptl и nptlonly, говорю:

# emerge --newuse world

Calculating world dependencies... done!

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

# /lib/libc.so.6

GNU C Library stable release version 2.5, by Roland McGrath et al.

Copyright (C) 2006 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 4.1.2 (Gentoo 4.1.2).

Compiled on a Linux >>2.6.19-gentoo-r5<< system on 2007-03-19.

Available extensions:

        C stubs add-on version 2.1.2

        crypt add-on version 2.1 by Michael Glad and others

        Gentoo patchset 1.4

        GNU Libidn by Simon Josefsson

        GNU libio by Per Bothner

        linuxthreads-0.10 by Xavier Leroy

        libthread_db work sponsored by Alpha Processor Inc

        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk

        Support for some architectures added on, not maintained in glibc core.

        BIND-8.2.3-T5B

Thread-local storage support included.

For bug reporting instructions, please see:

<http://www.gnu.org/software/libc/bugs.html>.

Где ошибся?

----------

## viy

Попробуй emerge -DNpuv world

----------

## Obrubok

# emerge -DNpuv world

These are the packages that would be merged, in order:

Calculating world dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

----------

## viy

А что emerge -pv glibc скажет?

----------

## Obrubok

# emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] sys-libs/glibc-2.5-r1  USE="nls -build -debug -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) (-nptl) (-nptlonly) -profile (-selinux)" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

----------

## viy

Угу, ясно.

Проверь /etc/make.profile симлинк. Он указывает на -nonptl профиль, что надо изменить.

Я использовал самый последний (был 2006.1), вариант desktop.

После смены профиля env-update && source /etc/profile

Затем пробовать уже упомянутые команды.

----------

## Obrubok

# ls -l make.profile

lrwxrwxrwx 1 root root 39 Mar 20 04:03 make.profile -> /usr/portage/profiles/hardened/x86/2.6/

```
emerge -DNpuv world

These are the packages that would be merged, in order:

Calculating world dependencies... done!

[ebuild   R   ] sys-libs/ncurses-5.6  USE="-bootstrap -build -debug -doc -gpm* -minimal -nocxx -trace -unicode" 0 kB

[ebuild   R   ] net-analyzer/net-snmp-5.4  USE="ssl tcpd -X -diskio -doc -elf -ipv6 -lm_sensors -mfd-rewrites -minimal -perl* -rpm (-selinux) -sendmail -smux" 0 kB

[ebuild   R   ] sys-devel/libperl-5.8.8-r1  USE="berkdb -debug -gdbm* -ithreads" 0 kB

[ebuild   R   ] dev-lang/perl-5.8.8-r2  USE="berkdb -build -debug -doc -gdbm* -ithreads -perlsuid" 0 kB

[ebuild     UD] sys-devel/autoconf-2.60 [2.61] USE="-emacs" 1,335 kB

[ebuild   R   ] sys-apps/shadow-4.0.18.1  USE="nls pam -cracklib* -nousuid (-selinux) -skey" 0 kB

[ebuild   R   ] sys-apps/file-4.20  USE="-python*" 0 kB

[ebuild   R   ] app-editors/nano-2.0.3  USE="nls -debug -justify -minimal -ncurses* -slang -spell* -unicode" 0 kB

[ebuild   R   ] app-editors/vim-7.0.201  USE="nls -acl -bash-completion -cscope -gpm* -minimal -perl* -python* -ruby -vim-pager -vim-with-x" 0 kB

[ebuild     UD] sys-libs/glibc-2.3.6-r5 [2.5-r1] USE="hardened* nls nptl* nptlonly* -build -erandom% -glibc-compat20 -glibc-omitfp -multilib -profile (-selinux) (-debug%)" 0 kB

[ebuild  NS   ] sys-devel/gcc-3.4.6-r2  USE="hardened nls (-altivec) -bootstrap -boundschecking -build -d -doc -fortran -gcj -gtk -ip28 -ip32r10k -multilib -multislot (-n32) (-n64) -nocxx -nopie -nossp -objc -test -vanilla" 27,699 kB

Total: 11 packages (2 downgrades, 1 in new slot, 8 reinstalls), Size of downloads: 29,033 kB
```

# emerge --newuse world

Выдает на glibc

```
* checking glibc-manpages-2.3.6-1.tar.bz2 ;-) ...                                                                                  [ ok ]

 * checking glibc-infopages-2.3.6.tar.bz2 ;-) ...                                                                                   [ ok ]

 * Sanity check to keep you from breaking your system:

 *  Downgrading glibc is not supported and a sure way to destruction

!!! ERROR: sys-libs/glibc-2.3.6-r5 failed.

Call stack:

  ebuild.sh, line 1630:   Called dyn_setup

  ebuild.sh, line 702:   Called qa_call 'pkg_setup'

  ebuild.sh, line 38:   Called pkg_setup

  glibc-2.3.6-r5.ebuild, line 1037:   Called die

!!! aborting to save your system

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.3.6-r5/temp/build.log'.
```

В общем вот.

Спасибо за терпение!

----------

## viy

Ну это понятно.

У тебя сменился профиль. В новом hardened профиле та версия glibc, что у тебя уже стоит --- замаскирована по каким либо причинам.

Поиграйся с /etc/portage/package.keywords.

----------

## Obrubok

# cat /etc/portage/package.keywords

=sys-libs/glibc-2.5-r1

И все равно он пытается поставить glibc-2.3.6   :Sad: 

----------

## viy

Значит так. Для начала покури маны! Твои вопросы достаточно просты и все описаны.

Сейчас --- что говорит emerge -pv =sys-libs/glibc-2.5-r1.

Наверняка, что замаскировано по package.mask. Соответственно, либо добавь строчку в package.unmask,

либо подумай, а стоит ли это делать, если ты выбрал hardened профиль?!

Кстати, зачем ты это сделал?.. В данной ситуации я бы полностью переставил систему, сразу установив hardened.

----------

## Obrubok

 *viy wrote:*   

> Значит так. Для начала покури маны! Твои вопросы достаточно просты и все описаны.

 

Курю.   :Sad: 

 *viy wrote:*   

> Сейчас --- что говорит emerge -pv =sys-libs/glibc-2.5-r1.
> 
> Наверняка, что замаскировано по package.mask. Соответственно, либо добавь строчку в package.unmask,
> 
> либо подумай, а стоит ли это делать, если ты выбрал hardened профиль?!

 

Выбрал другой профиль.

Все получилось.

 *viy wrote:*   

> Кстати, зачем ты это сделал?.. В данной ситуации я бы полностью переставил систему, сразу установив hardened.

 

Да, в следующий раз именно так и сделаю.

Спасибо за помощь, думаю что уже разобрался что к чему.

----------

