增加 64 位 Cygwin 中的堆栈大小? (安装ocaml)

增加 64 位 Cygwin 中的堆栈大小? (安装ocaml)

我正在尝试设置旧版本的 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

因为这是Cygwin,ulimit无法增加堆栈大小

答案1

./configure -cc "gcc -Wl,--stack,16777216"如果您希望在编译过程中始终gcc使用参数运行,请运行(加上您想要的任何其他选项)。-Wl,--stack,16777216之后,运行make clean,然后make world.opt再次运行。您需要清理所有以前生成的二进制文件(不是字节编译文件,但这样做更容易make clean),以便使用新的堆栈大小选项重新生成它们。

Ocaml makefile 不使用通用CCCFLAGS约定,因为它可以使用不同的编译器,为构建过程的不同部分提供不同的选项。构建编译器往往有点奇怪。

答案2

对于遵循标准约定的 makefile,您可以使用make CC='gcc -fwhatevermake CFLAGS='-fwhatever'。 (对于 C++,它是CXXCXXFLAGS

相关内容