[devel] erlang: asking for a hint, possibly with --as-needed
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пн Фев 12 00:33:58 MSK 2007
On Sun, Feb 11, 2007 at 11:24:09PM +0300, Mikhail Yakshin wrote:
> Dmitry V. Levin wrote:
> > On Sat, Feb 10, 2007 at 10:47:51PM +0300, Mikhail Yakshin wrote:
> >> Я тут взялся глобально перелопачивать Erlang
> >
> > Значит, всеобщее счастье не за горами. :)
>
> Я, пожалуй, не так сильно оптимистичен...
Я среагировал на "глобально перелопачивать".
> >> 2. Эрланг - это довольно объемный пакет, собирается где-то по 30-40
> >> минут на сборку.
> >
> > На каких мощностях? Тот пакет, который сейчас в Сизифе, собирается раза в
> > 2 быстрее.
>
> Видимо, на сборочных серверах и полностью в tmpfs. Какой смысл сравнивать?
Это я прозрачно намекаю на пользу, которую ты мог бы извлечь из сборочных
серверов.
> Насколько я понял - _REENTRANT - это какой-то флаг-характеристика
> системы. Не знаю, должен он быть установлен он у нас или нет и за что
> отвечает (гугл однозначного ответа на этот вопрос не дает), но, в данном
> случае, насколько я проверил - не установлен.
$ info libc 'Feature Test Macros'
Macro: _REENTRANT
Macro: _THREAD_SAFE
If you define one of these macros, reentrant versions of several
functions get declared. Some of the functions are specified in
POSIX.1c but many others are only available on a few other systems
or are unique to GNU libc. The problem is the delay in the
standardization of the thread safe C library interface.
Unlike on some other systems, no special version of the C library
must be used for linking. There is only one version but while
compiling this it must have been specified to compile as thread
safe.
> Видимо, на всех тех машинах, где Erlang собирается под Linux/BSD, стоит
> этот _REENTRANT => нет такого понятия, как __erl_errno вообще? Есть
> какие-то мысли, как это правильно исправить? Все упирается, видимо, в
> то, что такое дефайн _REENTRANT, почему у нас его нет и что сломается от
> того, если я его определю?
Надо смотреть в документацию по системе сборки или (если таковой нет) в
исходный код. Возможно, от включения _REENTRANT ничего не сломается.
> Плюс, после того, как разберемся с этим вопросом, ei_pthreads.o и
> ei_connect.o в порядке линковки надо поменять местами, я правильно понимаю?
Нет, --as-needed на сборку статических библиотек не влияет,
так что порядок линковки *.o-файлов тут не важен.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20070212/17741d94/attachment-0001.bin>
Подробная информация о списке рассылки Devel