[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