Aumentando o tamanho da pilha em Cygwin de 64 bits? (instalando ocaml)

1

Estou tentando configurar uma versão mais antiga do ocaml, e estou recebendo uma mensagem de erro que diz que preciso aumentar meu tamanho de pilha. A única maneira que encontrei para fazer isso no cygwin envolve a execução de um argumento adicional com o gcc, mas as instruções que estou seguindo me fizeram usar um makefile para compilar o programa. Como não estou digitando manualmente o comando gcc, não tenho certeza de onde adicionar esse argumento.

Aqui está um pastebin do processo de instalação: link

$ make world.opt
…
The current stack size limit is too low (2026k)
You must increase it with one of the following commands:
Under sh, bash, zsh:  ulimit -s 3072
Under csh, tcsh:      limit stacksize 3072

Makefile:621: recipe for target 'checkstack' failed
make: *** [checkstack] Error 3

E aqui está o argumento que estou tentando passar: link

Como este é o Cygwin, ulimit não funciona para aumentar o tamanho da pilha .

    
por eternal 28.09.2014 / 07:23

2 respostas

0

Execute ./configure -cc "gcc -Wl,--stack,16777216" (mais qualquer outra opção que você queira) se quiser sempre executar gcc com o argumento -Wl,--stack,16777216 durante o processo de compilação. Depois disso, execute make clean e, em seguida, make world.opt novamente. Você precisa limpar todos os binários gerados anteriormente (não os arquivos compilados por byte, mas é mais fácil fazer apenas make clean ) para que eles sejam regenerados com a nova opção de tamanho de pilha.

O makefile Ocaml não usa as convenções comuns CC e CFLAGS , porque ele pode usar diferentes compiladores com diferentes opções para diferentes partes do processo de construção. Construir compiladores tende a ser um pouco peculiar.

    
por 29.09.2014 / 09:16
0

Com makefiles que seguem as convenções padrão, você pode usar make CC='gcc -fwhatever ou make CFLAGS='-fwhatever' . (Para C ++, é CXX e CXXFLAGS )

    
por 28.09.2014 / 07:58