我正在尝试运行ruby处理附带的示例文件,但每次都会出现此错误:
me$ rp5 run ~/rp_samples/samples/processing_app/library/movie/loop.rb
/Users/jimmy/rp_samples/samples/processing_app/library/movie/loop.rb:14 warning: ambiguous Java methods found, using background(int)
Java::JavaLang::UnsatisfiedLinkError
Could not load library: gstreamer
org.gstreamer.lowlevel.GstNative.load(org/gstreamer/lowlevel/GstNative.java:53)
org.gstreamer.lowlevel.GstNative.load(org/gstreamer/lowlevel/GstNative.java:43)
org.gstreamer.Gst.<clinit>(org/gstreamer/Gst.java:101)
java.lang.reflect.Constructor.newInstance(java/lang/reflect/Constructor.java:513)
RUBY.setup(/rp_samples/samples/processing_app/library/movie/loop.rb:16)
processing.core.PApplet.handleDraw(processing/core/PApplet.java:2361)
processing.core.PGraphicsJava2D.requestDraw(processing/core/PGraphicsJava2D.java:240)
processing.core.PApplet.run(processing/core/PApplet.java:2256)
java.lang.Thread.run(java/lang/Thread.java:695)
这是我尝试过的:
我只想玩ruby-processing :(。如果我没有提供足够的细节,请告诉我,但有没有人有任何想法?谢谢!
-
我相信通过查看gstreamer-java Google小组,新版本的gstreamer(&gt; 1.0)不兼容。我在自制软件上找到了一个旧的0.10 gstreamer库的集合并安装了它们。
我尝试了'sudo find / -iname "gstnative.java"
,我似乎无法找到此错误来自的GSTNative.java文件。也许它以某种方式用ruby处理打包?无论如何......我在gstreamer-java/src/org/gstreamer/lowlevel/Main.java中找到了这一行:
System.setProperty("jna.library.path", "/usr/share/java:/opt/local/lib:/usr/local/lib:/usr/lib");
如果我检查下面评论中提到的文件(la /usr/local/lib/ | grep "gst"
),我会看到它们全部,并且它们被命名为两种方式(0.10.0.dylib或0.10.dylib)。 E.g。
lrwxr-xr-x 1 jimms admin 71 Jan 12 15:24 libgstinterfaces-0.10.0.dylib -> ../Cellar/gst-plugins-base010/0.10.36/lib/libgstinterfaces-0.10.0.dylib
lrwxr-xr-x 1 jimms admin 65 Jan 12 15:24 libgstinterfaces-0.10.a -> ../Cellar/gst-plugins-base010/0.10.36/lib/libgstinterfaces-0.10.a
lrwxr-xr-x 1 jimms admin 69 Jan 12 15:24 libgstinterfaces-0.10.dylib -> ../Cellar/gst-plugins-base010/0.10.36/lib/libgstinterfaces-0.10.dylib
所以他们似乎在那里,但也许我不明白它究竟在寻找什么。任何帮助表示赞赏!
答案 0 :(得分:1)
我不是百分之百确定最终解决问题的方法,但是,对于未来的googlers,这里有一个似乎需要的元素列表:
brew search gst
并安装附加了010的任何内容。 Gstreamer-java尚未更新,与gstreamer-0.10之后的任何版本兼容。"java_args": "-d32"
行,因为不支持32位模式。Movie.new
,所以我将其更改为绝对路径 Eureka !-
为了清晰起见,编辑了上面的第3步:如果我在运行cd
之前{~1}}编辑了〜/ rp_samples / samples / processing_app / library / movie /,那么它将有助于故障排除过程。