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