我已经在/ usr / local下的tar球中安装了scmutils。 然后我把它放在我的.emacs中:
(defun mechanics() (互动) (运行方案 " / usr / local / scmutils / mit-scheme / bin / scheme --library / usr / local / scmutils / mit-scheme / lib" ))
主要是来自http://redsymbol.net/articles/using-gnu-emacs-with-scmutils/的指示。
但是我收到了一个错误:
/ usr / local / scmutils / mit-scheme / bin / scheme:1:/ usr / local / scmutils / mit-scheme / bin / scheme:语法错误:"("意外
使用代码2异常退出流程方案
我还尝试运行/ usr / local / bin / mechanics,这是一个最终运行的shell脚本:
$ / usr / local / scmutils / mit-scheme / bin $ / usr / local / scmutils / mit-scheme / bin / scheme --library / usr / local / scmutils / mit-scheme / lib --heap 12000 --band edwin-mechanics.com --edit
$ bash:/ usr / local / scmutils / mit-scheme / bin / scheme:无法执行二进制文件
我认为有些不兼容。这是"文件mit-scheme-x86-64":
mit-scheme-x86-64:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.18,BuildID [sha1] = 0x88f52caf274bb8298a0f6b84fc34beb9d2094bc6 ,没有被剥夺
和
$ uname -r
3.11.0-26泛型
现在有人可以指导我如何调试吗?我在VMWare Fusion(Mac OS X)中运行Ubuntu。
答案 0 :(得分:1)
问题的直接答案可能是VMWare无法识别二进制文件。
关于如何从Emacs运行scmutils的更普遍的问题,以下是Debian和macOS的步骤:
Debian:
首先请确保您拥有MIT计划。如果不是,请执行sudo apt install mit-scheme
。然后,从the official scmutils page下载压缩包。提取它并sudo ./install.sh
。另外,sudo cp mechanics.sh /usr/local/bin/mechanics
,现在您可以通过执行mechanics
(在终端中运行)或mechanics -edit
(弹出Edwin)来从bash运行scmutils。如果还没有,还需要sudo apt install texlive
。然后,通过执行show-expression
打开Edwin(如果字体太小,请参见my answer to another question),然后依次依次mechanics -edit
和(show-expression '(sqrt (+ x y)))
来确认M-z
是否有效。它将弹出带有乳胶的窗口。
太好了,show-expression
本来可以在Edwin上运行!要在emacs上运行它很容易。首先,打开emacs,评估(require 'xscheme)
(这似乎改变了run-scheme
命令的含义),然后执行(run-scheme "/usr/local/bin/mechanics")
,您将在emac中看到一个scmutils REPL。此时,逃避(up 1 2 3)
应该可以,尽管请注意,与Edwin不同,您需要C-x C-e
才能评估'M-z
在这里不起作用。最后,评估(show-expression '(sqrt (+ x y)))
,它将起作用。
macOS :
这些指令取自该线程中的注释;我是一年前写的,不再使用macOS,所以现在无法确认,但是它们应该有效。
安装Xquartz和“ emacs for macOS”以及BasicTex。然后使用brew,安装mit-scheme和gv。最后,像上面的Debian部分一样,从压缩包中安装scmutils。确认show-expression
可以在Edwin中使用,然后在emacs中,从Debian部分重复上述步骤,并确保使用setenv
将/Library/TeX/texbin
添加到PATH中。然后,show-expression
应该可以从emacs运行。
(同样,我现在还没有一台Macbook可以确认,但是大约一年前,当我使用与上述内容类似甚至不同的指示在本页中写下其他评论时,它开始起作用。) >
答案 1 :(得分:0)
我认为问题可能是VMWare Fusion。我在Mac OS X和原生ubuntu上成功运行了这个。