LINUX.ORG.RU

ld не хватает памяти, а очень надо


0

1

Собираю я Chromium.

На этапе линковки бинарника unit_tests ld кушает всю память (примерно 3 Гб), примерно 1 из 4-х Гб подкачки, после чего говорит, что памяти мало, и останавливается.

Можно ли как-то его заставить использовать меньше памяти и больше жесткого диска? Можно ли решить проблему, перейдя на другой линкер (gold, например)? Или придется обойтись без тестов?


Хотя я собираю с -O3, может быть, при меньшей оптимизации меньший объем бинарника бы получался и памяти бы хватало. Попробую потом для тестов поменять на -O2, но тесты могут получиться «нечестными» (а ну как именно с -O3 оно и падает?), да и потом, это ж еще пару часов их переконпелять надо.

★★★★★

скока-скока? о_О
на 2-х гигах с чистым гигом свопа пересобирал хромого мильён раз - ниразу такого не было
про «больше винт»...
sysctl vm.swappiness=100
это так...радикально )

megabaks ★★★★
()

кстати...а что там в -O3 так может жрать память?
-finline-functions?
дык у меня оно тоже есть во флагах - всё пучком

megabaks ★★★★
()

--no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

Не?

--stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

anon_666
()
Ответ на: комментарий от anon_666

>--no-keep-memory

Спасибо, сейчас попробую. Правда, я тут уже начал его снова собирать с другими опциями, может, и так сойдет.

proud_anon ★★★★★
() автор топика

Во второй раз я вспомнил, что забыл поставить BUILDTYPE=Release и правильный -march. Теперь все скомпилялось и так, исхитряться не пришлось. Спасибо всем за подсказки.

proud_anon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.