LINUX.ORG.RU

sbcl не получается собрать из исходников


0

1

OpenSuse 11.4
Исходники с git'a собираются путем

>sh make.sh "clisp"
Clisp 2.49 взят путем
>zypper in clisp

При переходе к make-target-2.sh выводится

>sh ./make-target-2.sh "clisp"
//entering make-target-2.sh
//doing warm init - compilation phase
mmap: Cannot allocate memory
ensure_space: failed to validate 8589869056 bytes at 0x1000000000
(hint: Try "ulimit -a"; maybe you should increase memory limits.)


Ответ на: комментарий от mv

Вот это.

# sh ./make-target-2.sh "clisp"
//entering make-target-2.sh
//doing warm init - compilation phase
mmap: Cannot allocate memory
ensure_space: failed to validate 8589869056 bytes at 0x1000000000
(hint: Try "ulimit -a"; maybe you should increase memory limits.)
root@hp:/difs/sbcl/sbcl # ulimit -a                    
-t: cpu time (seconds)         unlimited
-f: file size (blocks)         unlimited
-d: data seg size (kbytes)     unlimited
-s: stack size (kbytes)        8192
-c: core file size (blocks)    0
-m: resident set size (kbytes) 1740032
-u: processes                  15888
-n: file descriptors           1024
-l: locked-in-memory size (kb) 64
-v: address space (kb)         2054720
-x: file locks                 unlimited
-i: pending signals            15888
-q: bytes in POSIX msg queues  819200
-e: max nice                   0
-r: max rt priority            0

elrprt
() автор топика
Ответ на: комментарий от anonymous

А потом переписывай stumpwm на жабе? :)

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

-v: address space (kb) 2054720

sbcl ммапит сразу 8 гиг (в линуксе ленивый ммап), а у тебя всё адресное пространство процесса ограничено двумя гигами.

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

А, понял. Под FreeBSD не сталкивался.
Сейчас посмотрю как поправить, tnx

elrprt
() автор топика
Ответ на: комментарий от power

В чем проще? Я так понял, что 8 гиг мапит не clisp. Может mv поправит.

elrprt
() автор топика
Ответ на: комментарий от mv

Требовать 8гб виртуальной памяти — многовато для сборки компилятора. И хорошо еще, если mmap работает как в линуксе.

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

Это не для сборки компилятора, а для самого компилятора. SBCL собирается в две стадии: сначала старой версией самого SBCL или другим компилятором собирается минимальный новый SBCL, который во второй заход собирает новый SBCL полностью.

Лениво заммапить можешь хоть стопицов гигабайт, лишь бы в адресное пространство влезло. Для систем, где ммап энергичный, у SBCL есть ручки для кручения начальной аллокации. Или даже дефолтные значения другие.

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

А, тогда хорошо. Просто вспомнилось как GHC мне на 4 ГиБ памяти и 4 ГиБ свопа выдал out of memory.

buddhist ★★★★★
()

sudo /sbin/sysctl -w vm.overcommit_memory=0

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