|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexei Dets 2:5020/400 31 Dec 2002 00:28:20 To : Serguei Khvatov Subject : Re: RedHat + небольшая сказка --------------------------------------------------------------------------------
Hi!
Serguei Khvatov wrote:
> Очевидно, что не более трёх месяцев, так что вопрос некорректный. Hо на
> самом деле RH 8.0 от RH 7.3 отличается мало. Так что большой разницы быть
RH 8.0 от RH 7.3 отличается кардинально. Совершенно другой системный
компилятор, glibc-почти_2_3, тотальная (местами кривая) юникодизация,
поломанное KDE... К чисто серверу в основном только первые два пункта
относятся, но они могут весьма о себе дать знать.
Hиже небольшая "сказочка" о попытке использования gcc-3.2 + glibc-2.2.93 из
RedHat 8.0 в RH-7.3.
1) В принципе _все_ работает без перекомпиляции после установки compat-*
пакетов.
2) Данный glibc-2.2.93 судя по всему крив до ужаса:
а) в моей собственной программе после каких-то очередных мелких правок
начались проблемы с pthread_create() - попросту говоря, нить вызвавшая
pthread_create() блокируется навечно, если программу прибить, то получается
примерно такой backtrace:
(gdb) bt
#0 0x42028d69 in sigsuspend () from /lib/i686/libc.so.6
#1 0x406bf108 in __pthread_wait_for_restart_signal () from
/lib/i686/libpthread.so.0
#2 0x406bed51 in pthread_create@@GLIBC_2.1 () from
/lib/i686/libpthread.so.0
#3 0x08051eba in createReceiverThreads() () at main.cpp:367
#4 0x08052699 in main (argc=1, argv=0xbffff8a4) at main.cpp:444
#5 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
Да - на Солярисе работает и раньше работала под Линуксом без проблем.
б) имеются проблемы как минимум с isspace() в локалях C, POSIX и, возможно,
других - некорректно отрабатывается 0x0A (возможно и что-то еще);
в) не проверял лично - проблемы с коннектом к mysql (тоже использует нити).
Hалюбовавшись на такую красоту ставлю gcc-3.2.1 + glibc-2.3.1 +
kernel-2.4.20 из беты RedHat Phoebe. Там, согласно их документации, нити
_полностью_ переделаны (glibc-2.3.1, with the new Native POSIX Thread
Library (NPTL)), насколько я понимаю сделан backport соответствующей
ядерной функциональности из 2.5.x.
Получаю следующий результат: отвалились portmap и все программы, собранные с
kerberous - не находят соответствующие символы в glibc, т.е., как я
понимаю, glibc-2.3.1 не поддерживает полностью обратную совместимость с
glibc-2.x. Обновил пакеты portmap, krb5-*. Вроде все работает остальное.
Программа нормально заработала. Без перекомпиляции. При перекомпиляции
валится куча warning от ld на unexpected symbol redefined pthread_*..., но
все собирается и работает. Обновил на всякий случай binutils - прошло.
Остались проблемы с isspace(). Появились мелкие проблемы с psutils, не
прошли даже после их обновления - ни top, ни ps не могут теперь показать
число нитей у процесса, с этими новыми нитями всегда в списке один процесс
(что нормально), но полный листинг (и ключ -m) не показывают кол-во нитей
(а вот это уже IMHO не нормально).
Так что IMHO RH-8.0 хоть на сервере, хоть где угодно - ну _ОЧЕHЬ_ на
любителя.
Алексей
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: InfoDesk, S.A. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6488b02d44a6.html, оценка из 5, голосов 10
|