Недостаточно памяти для компилятора Solaris 12.3 C ++ - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть файл кода C ++, сгенерированный swig, размером 24 МБ, около 5 000 000 строк кода.Я могу скомпилировать его, если установить уровень оптимизации компилятора на xO0, но не получается, как только я добавляю любые другие флаги компилятора C ++ (например, xprofile ...).Я использую компилятор C ++ Solaris Studio 12.3.

Ниже приведена ошибка консоли:

    Element size (in bytes):        48
    Table size (in elements):  2560000
    Table maximum size:        134217727
    Table size increment:         5000
    Bytes written to disk:           0
    Expansions required:             9
    Segments used:                   1
    Max Segments used:               1
    Max Segment offset:        134217727
    Segment offset size::           27
    Resizes made:                    0
    Copies due to expansions:        4
    Reset requests:                  0
    Allocation requests:       2827527
    Deallocation requests:      267537
    Allocated element count:      4086
    Free element count:        2555914
    Unused element count:            0
    Free list size (elements):       0

ir2hf: ошибка: недостаточно памяти

Заранее спасибо.

1 Ответ

0 голосов
/ 11 февраля 2019

Я нашел эту статью , предполагающую, что это связано с тем, что Solaris объем памяти для сегментов данных.

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

$ usermod -K defaultpriv=basic,sys_resource karel

Теперь выйдите из системы и снова войдите в систему и измените предел:

$ ulimit -d unlimited

Затем проверьте, изменился ли предел

$ ulimit -d

Вывод должен быть unlimited

...