Отправляет email-рассылки с помощью сервиса Sendsay

glibc 2.3.3 and linuxthreads

Привет!

В процессе конфига glibc (Altlinux 1.1 kernel 2.4.10 родное)
появляется ошибка (мой пересказ близко к тексту):

Therе are no linuxthreads found.Glibc is usually compiled with
this add-on ... most programs use this feature (или что-то вроде
того).

Погуглив по теме, нашел патч к ядру 2.1.<что-то>, котор_й добавляет
ИХ, из чего делаю заключение, что оно от ядра. Может такое б_ть,
что generic ядро собрано без НИХ? Если нет, то как их показать glibc ?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15534; Возраст листа: 556; Участников: 1319
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/307770

Ответить   Matvey Mon, 31 Jan 2005 12:17:16 +0200 (#307770)

 

Ответы:

i686-suse-linux)

Hello, Matvey <mathw***@l*****.ru>!

On Mon, 31 Jan 2005 12:17:16 +0200 you wrote:

./configure ... --enable-add-ons

Ответить   "B." Mon, 31 Jan 2005 15:32:11 +0300 (#308053)

 

On Mon, 31 Jan 2005 15:32:11 +0300
"B." <boff20***@m*****.ru> wrote:

скачал, кинул в папку с glibc
.
../configure --enable-add-ons
....
running configure fragment for sysdeps/i386/elf
running configure fragment for nptl/sysdeps/pthread
configure: error: compiler support for __thread is required

чуть раньше :
checking for __thread... no
checking for libgd... no
Что и где ?.....

Пробовал
../configure --enable-add-ons=../linuxthreads
configure: error: add-on directory "../linuxthreads" does not exist
хотя очень даже exist

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15558; Возраст листа: 557; Участников: 1319
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/308164

Ответить   Matvey Tue, 1 Feb 2005 01:06:26 +0200 (#308164)

 

Это ответ на письмо Matvey
по поводу "Re: glibc 2.3.3 and linuxthreads" от Tue, 1 Feb 2005 01:06:26
+0200:

Вы ведь в папку с glibc кинули, а путь (../linuxthreads) указали в
соседний с glibc каталог :)

linuxthreads, действительно, в каталоге сырцов glibc должен лежать.
Укажите просто --enable-add-ons=linuxthreads , у меня сработало.

Ответить   Tue, 1 Feb 2005 09:43:44 +0300 (#308253)

 

On Tue, 1 Feb 2005 09:43:44 +0300
Goh'Dan <yase***@i*****.ru> wrote:

А вот и не правда :) Он требует создания отдельного каталога для
компиляции(configure: error: you must configure in a separate build directory)
, вот я и создал его в папке с glibc, т. е. путь ../linuxthreads
соседний не с glibc, а с glibc/obj. Хотя помогло, спасибо ;)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15564; Возраст листа: 557; Участников: 1321
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/308312

Ответить   Matvey Tue, 1 Feb 2005 09:50:27 +0200 (#308312)

 

i686-suse-linux)

Hello, Matvey <mathw***@l*****.ru>!

On Tue, 1 Feb 2005 09:50:27 +0200 you wrote:

Кстати, уже вышел glibc-2.3.4

Ответить   "B." Tue, 1 Feb 2005 18:32:39 +0300 (#308503)

 

On Tue, 1 Feb 2005 09:43:44 +0300
Goh'Dan <yase***@i*****.ru> wrote:

А вот и не правда :) Он требует создания отдельного каталога для
компиляции(configure: error: you must configure in a separate build directory)
, вот я и создал его в папке с glibc, т. е. путь ../linuxthreads
соседний не с glibc, а с glibc/obj. Хотя помогло, спасибо ;)

А после двухчасового ков_ряния сказало:

gcc dl-runtime.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings
-g -mpreferred-stack-boundary=2 -fexceptions -fasynchronous-unwind-tables
-I../include -I. -I/home/media/mat/programs/altlinux/glibc-2.3.3/obj/elf -I..
-I../libio -I/home/media/mat/programs/altlinux/glibc-2.3.3/obj -I../sysdeps/i386/elf
-I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux
-I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv
-I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386
-I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386
-I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu
-I../sysdeps/i386 -I../sysde
ps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -D_LIBC_REENTRANT
-include ../include/libc-symbols.h -o /home/media/mat/programs/altlinux/glibc-2.3.3/obj/elf/dl-runtime.o
-MD -MP -MF /home/media/mat/programs/altlinux/glibc-2.3.3/obj/elf/dl-runtime.o.dt
dl-runtime.c:56: error: conflicting types for 'fixup'
../sysdeps/i386/dl-machine.h:158: error: previous declaration of 'fixup' was
here
dl-runtime.c:56: error: conflicting types for 'fixup'
../sysdeps/i386/dl-machine.h:158: error: previous declaration of 'fixup' was
here
dl-runtime.c:141: error: conflicting types for 'profile_fixup'
../sysdeps/i386/dl-machine.h:161: error: previous declaration of 'profile_fixup'
was here
dl-runtime.c:141: error: conflicting types for 'profile_fixup'
../sysdeps/i386/dl-machine.h:161: error: previous declaration of 'profile_fixup'
was here
../sysdeps/i386/dl-machine.h:158: warning: 'fixup' declared `static' but never
defined
../sysdeps/i386/dl-machine.h:161: warning: 'profile_fixup' declared `static'
but never defined
make[2]: *** [/home/media/mat/programs/altlinux/glibc-2.3.3/obj/elf/dl-runtime.o]
Error 1
make[2]: Leaving directory `/home/media/mat/programs/altlinux/glibc-2.3.3/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/media/mat/programs/altlinux/glibc-2.3.3'
make: *** [all] Error 2

Никто не сталкивался?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15567; Возраст листа: 557; Участников: 1321
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/308330

Ответить   Matvey Tue, 1 Feb 2005 11:54:51 +0200 (#308330)

 

Это ответ на письмо Matvey
по поводу "Re: glibc 2.3.3 and linuxthreads" от Tue, 1 Feb 2005 11:54:51
+0200:

Я столкнулся с этим в конце лета, когда собирал LFS 5.1.1. Сейчас уже
точно не помню, как справлялся. Во всяком случае, у меня получилось.
Скорее всего, помогла правка исходников, хотя, возможно, какой-нибудь
LFS-специфичный патч или пакет. Попробуйте поковыряться в файлах,
которые сбоят; у меня сейчас, к сожалению, совершенно нет времени, но
если не справитесь до четверга, попробую еще раз перекомпилить glibc и
вспомнить, что к чему.

Ответить   Tue, 1 Feb 2005 16:32:07 +0300 (#308417)

 

Это ответ на письмо Goh'Dan
по поводу "Re: glibc 2.3.3 and linuxthreads" от Tue, 1 Feb 2005 16:32:07
+0300:

Сборка LFS-версии glibc-2.3.3 с gcc 3.3.3 с ключами
--prefix=/usr --disable-profile --enable-add-ons=linuxthreads
--libexecdir=/usr/lib --with-headers=/usr/include --without-cvs
проходит без проблем.

LFS-версию glibc-2.3.3 с linuxthreads можно достать на:

ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/glibc-2.3.3-lfs-5.1.tar.bz2
ftp://lfs.mirror.intermedia.com.sg/pub/lfs/lfs-packages/conglomeration/glibc-2.3.3-lfs-5.1.tar.bz2
http://packages.lfs-es.org/glibc/glibc-2.3.3-lfs-5.1.tar.bz2
http://mirror.averse.net/lfs-packages/glibc-2.3.3-lfs-5.1.tar.bz2
ftp://mirror.averse.net/pub/lfs-packages/glibc-2.3.3-lfs-5.1.tar.bz2
ftp://ftp.lfs-matrix.de/lfs-packages/conglomeration/glibc-2.3.3-lfs-5.1.tar.bz2
ftp://ftp.sg.linuxfromscratch.org/pub/lfs-packages/glibc-2.3.3-lfs-5.1.tar.bz2
http://ftp.sg.linuxfromscratch.org/glibc-2.3.3-lfs-5.1.tar.bz2

Весит 13 мег.
md5sum: cd11fabdf5162ad68329e7b28b308278

Ответить   Tue, 8 Feb 2005 21:00:11 +0300 (#312699)

 

On Tue, 8 Feb 2005 21:00:11 +0300
Goh'Dan <yase***@i*****.ru> wrote:

С ГНУшным glibc данные Вами опции не помогли. А чем LFS-версия отличается от
обычной?

Ответить   Matvey Thu, 10 Feb 2005 11:12:45 +0200 (#314213)

 

Это ответ на письмо Matvey
по поводу "Re: glibc 2.3.3 and linuxthreads" от Thu, 10 Feb 2005
11:12:45 +0200:

Ничем :)
Вот как написано в сопроводительной записке:

"As of this writing, the Glibc maintainers have decided in their wisdom
not to make available new release tarballs for download. As such, the
LFS toolchain team have provided a tarball of glibc sources pulled from
Glibc CVS (Concurrent Versioning System) and generated a tarball from
them, including patches where necessary."

То есть эта версия Glibc - просто взятая с CVS; патчей на нее вроде бы
никаких не полагалось.

Возможно, дело в патче, который я накатывал на GCC:

GCC No-Fixincludes Patch - 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.1.1/gcc-3.3.3-no_fixincludes-1.patch

Обычно GCC-шный скрипт fixincludes сканирует систему на предмет
заголовочных файлов, которые нужно исправить, и помещает их в свой
собственный каталог include, который потом просматривается им прежде
системного каталога include, что после переустановки Glibc может
привести к несоответствию используемых компилятором заголовочных файлов
версии Glibc, используемой в системе.

В принципе, это чисто LFS-овская заморочка, связанная с методом
построения системы в два прохода. Однако, возможно, дело в ней.

Попробуйте установить патченный GCC куда-нибудь в /opt/gcc-3.3.3, а
потом скомпилировать им Glibc (если не изменяет память, нужно указать
make CC=/opt/gcc-3.3.3/bin/gcc ).

GCC компилировался с ключами
--prefix=/usr --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++

Значение ключей:

--enable-clocale=gnu: Нужно, чтобы для библиотек C++ была выбрана
корректная модель locale (если в системе нет локали de_DE, есть риск
построить библиотеки C++, несовместимые с ABI)

--enable-threads=posix: Задействует применение исключений C++ для
многопоточного кода.

--enable-__cxa_atexit: Позволяет использование __cxa_atexit вместо
atexit для регистрации деструкторов C++ для локальных статических и
глобальных объектов; это существенно для полностью соответствующей
стандартам обработки деструкторов.
--enable-languages=c,c++: Строить компиляторы и C, и C++.

Ответить   Fri, 11 Feb 2005 10:16:12 +0300 (#314368)

 

On Fri, 11 Feb 2005 10:16:12 +0300
Goh'Dan <yase***@i*****.ru> wrote:

собрал GCC так:
../configure --prefix=/usr/local/gcc-3.4.3 --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++

Теперь собираю glibc так:
../configure --prefix=/usr --disable-profile --enable-add-ons=linuxthreads --libexecdir=/usr/lib
--with-headers=/usr/include --without-cvs CC=/usr/local/gcc-3.4.3/bin/gcc

На выходе имеем:
checking for long double... yes
checking size of long double... configure: error: cannot compute sizeof (long
double), 77
See `config.log' for more details.

В config.log находим такие строки:

configure:6592: checking size of long double
configure:6867: /usr/local/gcc-3.4.3/bin/gcc -o conftest -g -O2 conftest.c

/usr/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status

Пробовал добавить в /etc/ld.conf строку /usr/local/gcc-3.4.3/lib и сделать ldconfig
- без толку. Как уговорить ld
увидить то, что надо?

Ответить   Matvey Sun, 13 Feb 2005 20:28:53 +0200 (#315630)

 

Это ответ на письмо Matvey
по поводу "Re: glibc 2.3.3 and linuxthreads" от Sun, 13 Feb 2005
20:28:53 +0200:

Вы уверены, что здесь нужно указывать CC=/usr/local/gcc-3.4.3/bin/gcc ?
Я всегда указывал это как параметр к make.

Вы делали правильно. Но Вы точно уверены, что конфигурация ld хранится в
/etc/ld.conf? Во всех виденных мной системах это /etc/ld.so.conf. Может
быть, в этом проблема?

Ответить   Tue, 15 Feb 2005 10:11:52 +0300 (#316507)

 

On Tue, 15 Feb 2005 10:11:52 +0300
Goh'Dan <yase***@i*****.ru> wrote:

Может и не надо, но тогда он хочет собиратся с системным gcc-2.96
а потом не хочет, старый-де очень... Других способов оломать скрипт я не нашёл,

может подскажете?...

Кривость рук, и никакого обмана ;) В системе и файла-то такого нет, конечно писал
в /etc/ld.so.conf.
Просто на автомате набрал...

Ответить   Matvey Tue, 15 Feb 2005 19:00:02 +0200 (#316798)

 

Hi Matvey, you wrote:

linuxthreads работают в userspace, ни какой патч не нужен, а нужен
сам пакет Glibc-linuxthreads, который лежит там же, где и glibc,
а именно ftp.gnu.org/gnu/glibc/.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 15547; Возраст листа: 556; Участников: 1319
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/308086

Ответить   j1m Mon, 31 Jan 2005 18:35:22 -0600 (#308086)