【发布时间】:2013-09-24 22:35:50
【问题描述】:
我尝试在 ubuntu 上玩泛音,但我无法在 Vim 中评估泛音的一些代码。
:Eval 适用于 clojure 代码;我在vim中试了一下(lein项目目录下的一个clj文件),ex: (+ 1 2 3) => :Eval => 出现在vim窗口底部=> 6,所以没问题。
但是,例如,我尝试过:
(demo(sin-osc)) => :Eval ;(:Require don't change nothing)
它返回:
java.lang.RuntimeException: Unable to resolve symbol: demo in this context, comp
iling:(NO_SOURCE_PATH:1:1)
这就是我要做的:
- jack 已启动
- lein repl在lein项目中启动(deps没问题)
-
在有 lein 的第一个终端中,我开始泛音(使用 'overtone.live),这是日志;我有 2 个错误:
user=> (使用'overtone.live) --> 加载泛音... --> 正在启动内部 SuperCollider 服务器... * 错误:dlsym load err '/home/axxon/workspace/overtone/tutorial/native/linux/x86_64/libscsynth.so:未定义符号:加载' 找到 10 个 LADSPA 插件 * 错误:打开目录失败 '/home/axxon/.local/share/SuperCollider/synthdefs' JackDriver:客户端名称是“SuperCollider” SC_AudioDriver:采样率 = 44100,000000,驱动程序块大小 = 1024 --> 连接到内部 SuperCollider 服务器... --> 连接建立 JackDriver:最大输出延迟 23.2 毫秒
在这里,我在这个窗口中尝试过 (demo(sin-osc))。有用;我能听到。
- 很好,但是现在我想用 Vim 编写脚本,所以我在 lein 项目目录 (/overtone/tutorial) 中创建了一个新文件 (mytest.clj),我用 Vim 打开它(在另一个窗口中)
-
在这个空白文件中,我写了和我之前说的一样的东西,(demo(sin-osc)) 并尝试先评估,:Require,它返回了这个:
(clojure.core/require 'user :reload)
java.io.FileNotFoundException: Could not locate user__init.class or user.clj on classpath: 使用 Eval,它也不起作用。
感谢你的帮助,因为我真的很想用泛音!
Ps:我的 vim 包:
捆绑 'guns/vim-clojure-static'
捆绑 'tpope/vim-fireplace'
捆绑'tpope/vim-classpath'
编辑:我忘记使用正确的命名空间,在 overtone 的 google 组中,我看到 mytest.clj 必须在项目的 src 目录中。我用 :Require 尝试了这段代码(我在开始 lein 的第一个窗口中停止了泛音):
(ns tutorial.foo
(:use [overtone.live]))
(definst saw-wave [freq 440 attack 0.01 sustain 0.4 release 0.1 vol 0.4]
(* (env-gen (lin-env attack sustain release) 1 1 0 1 FREE) (saw freq) vol))
(saw-wave)
,但它返回了:
(clojure.core/require 'tutorial.foo :reload)
Erreur détectée en traitant function <SNR>17_Require..fireplace#session_eval..<S
NR>17_eval..7 :
ligne 38 :
E605: Exception non interceptée : Error running Clojure: *** ERROR: open directo
ry failed '/usr/java/packages/lib/amd64'^@*** ERROR: dlsym load err '/usr/lib/jn
i/libswt-gtk-3836.so: undefined symbol: load'^@*** ERROR: dlsym load err '/usr/l
ib/jni/libswt-glx-gtk-3836.so: undefined symbol: load'^@*** ERROR: dlsym load er
r '/usr/lib/jni/libswt-webkit-gtk-3836.so: undefined symbol: load'^@*** ERROR: d
lsym load err '/usr/lib/jni/libswt-atk-gtk-3836.so: undefined symbol: load'^@***
ERROR: dlsym load err '/usr/lib/jni/libswt-pi-gtk-3836.so: undefined symbol: lo
ad'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-cairo-gtk-3836.so: undefined
symbol: load'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-awt-gtk-3836.so:
undefined symbol: load'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-gnome-gt
k-3836.so: undefined symbol: load'^@#^@# A fatal error has been detected by the
Java Runtime Environment:^@#^@# SIGSEGV (0xb) at pc=0x00007f5d261db671, pid=693
1, tid=140036632291072^@#^@# JRE version: 7.0_25-b30^@# Java VM: OpenJDK 64-Bi
【问题讨论】:
-
你试过使用真正的编辑器吗?
-
:D 你说 Emacs 吗?
标签: vim clojure read-eval-print-loop