1

我已经. scmutils_/usr/local

然后我把它放在我的.emacs

(defun mechanics ()
  (interactive)
  (run-scheme
    "/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: 
Syntax error: "(" unexpected

Process scheme exited abnormally with code 2

我也试过 running /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: cannot execute binary file

我认为有些不兼容。这是“文件 mit-scheme-x86-64”:

mit-scheme-x86-64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=0x88f52caf274bb8298a0f6b84fc34beb9d2094bc6, not stripped

$ uname -r 

3.11.0-26-generic

任何人都可以指导我现在如何调试它?我在 VMWare Fusion (Mac OS X) 中运行 Ubuntu。

4

2 回答 2

1

问题主体的直接答案可能是 VMWare 无法识别二进制文件。

对于如何从 Emacs 运行 scmutils 的更一般的问题,以下是 Debian 和 macOS 的步骤:

德比安:

首先确保你有 MIT 方案。如果没有,请执行sudo apt install mit-scheme. 然后,从官方 scmutils 页面下载 tarball 。提取它和sudo ./install.sh. 此外, , 现在您可以通过执行(在终端中运行)或(弹出 Edwin)sudo cp mechanics.sh /usr/local/bin/mechanics从 bash 运行 scmutils 。如果你还没有,你也需要。然后,通过打开 Edwin确认是否有效(如果字体太小,请参阅我对另一个问题的回答),然后它会弹出一个带有 Latex 的窗口。mechanicsmechanics -editsudo apt install texliveshow-expressionmechanics -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-eeval'M-z在这里不起作用。最后, eval (show-expression '(sqrt (+ x y))),它将起作用。

写完这篇文章后我刚拍的证明截图

macOS

这些说明取自此线程中的评论;我在一年前写了它们,不再使用 macOS,所以现在无法确认它们,但它们应该可以工作。

安装 Xquartz 和 "emacs for macOS" 以及 BasicTex。然后使用 brew,安装 mit-scheme 和 gv。最后,像上面的 Debian 部分一样从 tarball 安装 scmutils。确认show-expression在 Edwin 中有效,然后在 emacs 中,从 Debian 部分重复上述步骤,并确保使用setenv添加/Library/TeX/texbin到 PATH。然后,show-expression应该从 emacs 工作。

(同样,我现在没有要确认的 macbook,但大约一年前,当我在此页面上写下其他评论时,我使用了与上述类似的说明,如果不完全相同的话)。

于 2019-12-23T17:16:30.380 回答
0

我认为问题可能是VMWare Fusion。我在 Mac OS X 和本机 ubuntu 上成功运行了它。

于 2014-09-25T04:41:39.957 回答