[sisyphus] Re: fpc&lazarus [-]

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Окт 20 06:49:03 MSD 2005


On Wed, Oct 19, 2005 at 11:56:39PM +0300, Eugene Ostapets wrote:
> > Мне сложно закачать 17M в Daedalus.  В случае с Sisyphus проще из-за
> > доступа в офисную сеть.
> Хм... nosrc.rpm и я залью в дедалус?:)

Не торопите события. :)  Я как раз понял, что делать с линкером.

При использовании `fpc -XX' (smart linking) ситуация такая: для линковки
создается linker script (link.res) и отдатся линкеру /usr/bin/ld.  В
этом скрипте перечислены все *.a файлы, соответствующие используемым
юнитам (рекурсивно).   Для компоновки fpc/compiler/ppc386 используется
около 200 *.a файлов, для fpc/ide/fp -- ещё больше.  В каждом *.a файле
находится порядочное количество *.o файлов, по одному на линкуемый
символ.  То есть в некоторых довольно типичных ситуациях при
использовании smart linking линкеру нужно слинковать несколько тысяч
файлов.  Линкеру от этого натурально сносит крышу: он отжирает всю
виртуальную память, и ядро его убивает (хорошо если его).  Опция
--no-keep-memory не помогает.

В binutils >= 1:2.15.92 есть новая опция --reduce-memory-overheads.
Вместе с --no-keep-memory получается приемлемый результат: для линковки
ppc386 используется 108M, для линковки fp используется 177M.  Реально
RSS требуется меньше, так что ppc386 и fp удается скомпоновать даже на
машинке с 128M, при активной поддержке kswapd.  Но всё же это большой
успех, потому что это разница между "работает" и "не работает".

Теперь lazarus, вероятно, удастся собрать вместе с "-CX -XX".

> > М-м... Берите.  Основная задача -- lazarus должен собирать кроссом для
> > win32 так же хорошо, как для linux.  Тогда его существование оправдано.
> > То есть в этом может быть одно из его преимуществ.  Там ещё нужно
> > решить, собирать ли сам lazarus c gtk или c gtk2.  Для этого его нужно
> > поюзать.  Ну, написать какой-нибудь тетрис, чтобы пройтись по всем
> > граблям.
> А зачем кроссовая среда? Я еще понимаю кроссовый компилер...

Ну а зачем вообще Delphi нужен?  И чем lazarus может быть лучше Delphi?
Важно уметь собирать кроссом "от и до", не используя винды и не имея
нативных виндовых development tools.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/sisyphus/attachments/20051020/76034c61/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus