Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “为什么?”;流浪汉ssh-c';阴谋集团建造'&引用;生成一个空二进制文件?_Linux_Haskell_Vagrant_Cabal - Fatal编程技术网

Linux “为什么?”;流浪汉ssh-c';阴谋集团建造'&引用;生成一个空二进制文件?

Linux “为什么?”;流浪汉ssh-c';阴谋集团建造'&引用;生成一个空二进制文件?,linux,haskell,vagrant,cabal,Linux,Haskell,Vagrant,Cabal,我正在使用Vagrant在Linux上构建Haskell Cabal项目。当我在Vagrant VM中构建阴谋集团时,生成的二进制文件是好的。当我尝试使用vagrant ssh-c'cabal build'从主机编写构建脚本时,生成了一个大小为零的二进制文件。编译显然可以工作,但我认为一旦链接器启动,流浪外壳就会关闭并终止链接。为什么会发生这种情况 在谷歌上搜索了几次后,我只能找到一个 在IRC的帮助下,我们能够确定这项工作: sshvagrant@127.0.0.1-第2222页-i.vagr

我正在使用Vagrant在Linux上构建Haskell Cabal项目。当我在Vagrant VM中构建阴谋集团时,生成的二进制文件是好的。当我尝试使用
vagrant ssh-c'cabal build'
从主机编写构建脚本时,生成了一个大小为零的二进制文件。编译显然可以工作,但我认为一旦链接器启动,流浪外壳就会关闭并终止链接。为什么会发生这种情况

在谷歌上搜索了几次后,我只能找到一个

在IRC的帮助下,我们能够确定这项工作:

sshvagrant@127.0.0.1-第2222页-i.vagrant.d/unsecure_private_key“阴谋集团建造”

下面是在调试模式下转储的ssh命令
vagrant ssh
,该命令不起作用:

[”vagrant@127.0.0.1“,”-p“,“-o”,“Compression=yes”,“-o”,“dsaaauthentication=yes”,“-o”,“LogLevel=FATAL”,“-o”,“strithhostkeychecking=no”,“-o”,“UserKnownHostsFile=/dev/null”,“-o”,“identiesonly=yes”,“-i”,“.vagrant.d/unsecure\u private\u key”,“-t”,“bash-l-c'pwd”

使用演绎法,我发现
ssh-t
是问题的根源。从文档中:

所以现在的问题是为什么
-t
会导致
阴谋集团建造失败


运行
cabal build-v3
时会出现错误
/usr/bin/ghc返回ExitFailure 9
,我认为这意味着内存不足。

内存不足时,OOM正在杀死ghc。
ssh-t
标志显然足以使其超过阈值。通过
/var/log/syslog
确认。解决方案是简单地为VM分配更多内存。感谢Freenode上的tibber和teukka

 -t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services.
         Multiple -t options force tty allocation, even if ssh has no local tty.