![64비트 Cygwin에서 스택 크기를 늘리시겠습니까? (ocaml 설치)](https://linux55.com/image/56521/64%EB%B9%84%ED%8A%B8%20Cygwin%EC%97%90%EC%84%9C%20%EC%8A%A4%ED%83%9D%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EB%8A%98%EB%A6%AC%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20(ocaml%20%EC%84%A4%EC%B9%98).png)
이전 버전의 ocaml을 설정하려고 하는데 스택 크기를 늘려야 한다는 오류 메시지가 나타납니다. Cygwin에서 이 작업을 수행하는 유일한 방법은 추가 인수를 사용하여 gcc를 실행하는 것이지만 내가 따른 지침에서는 makefile을 사용하여 프로그램을 컴파일하도록 했습니다. gcc 명령을 수동으로 입력하지 않았기 때문에 해당 매개변수를 어디에 추가해야 할지 잘 모르겠습니다.
다음은 설치 과정을 붙여넣은 것입니다.http://pastebin.com/j2Q45pKm
$ 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
제가 전달하려는 주장은 다음과 같습니다.https://stackoverflow.com/questions/156510/increase-stack-size-on-windows-gcc
시그윈이니까,ulimit
스택 크기를 늘릴 수 없습니다.
답변1
./configure -cc "gcc -Wl,--stack,16777216"
컴파일하는 동안 항상 인수를 사용하여 실행하려면 gcc
실행합니다(원하는 다른 옵션도 포함). -Wl,--stack,16777216
그런 다음 을 실행 make clean
하고 make world.opt
다시 실행하세요. make clean
새로운 스택 크기 옵션을 사용하여 다시 생성하려면 이전에 생성된 모든 바이너리(바이트 컴파일된 파일은 아니지만 더 쉬움)를 정리해야 합니다 .
Ocaml 메이크파일은 다양한 컴파일러를 사용하여 빌드 프로세스의 다양한 부분에 대해 다양한 옵션을 제공할 수 있으므로 일반적인 CC
규칙을 사용하지 않습니다. CFLAGS
컴파일러를 구축하는 것은 약간 이상한 경향이 있습니다.
답변2
표준 규칙을 따르는 makefile의 경우 make CC='gcc -fwhatever
또는 를 사용할 수 있습니다 make CFLAGS='-fwhatever'
. (C++의 경우 CXX
및 CXXFLAGS
)