5

我正在尝试使用 Tanuki Java Service Wrapper。我使用的硬件是带有 Raspbian wheezy 发行版的 Raspberry Pi。(见http://www.raspberrypi.org/downloads

我已经尝试过 Wrapper 32 位 armel 版本,但在阅读 libwrapper.so 时遇到问题。

信息 | 虚拟机 1 | 2013/04/24 20:15:34 | WrapperManager:正在初始化...
信息 | 虚拟机 1 | 2013/04/24 20:15:42 | WrapperManager 调试:尝试使用名称加载本机库:libwrapper.so 结果:/usr/iHome/lib/libwrapper.so:/usr/iHome/lib/libwrapper.so:无法打开共享对象文件:没有这样的文件或目录

我也尝试过 armhf 版本,因为似乎“apt-get java-7-openjdk”安装了 jdk-armhf 版本,但是在启动 Wrapper 时我确实遇到了“分段错误”。

一些额外的信息:

pi@raspberrypi /usr/lib/jvm $ java -version
java version "1.7.0_07" OpenJDK 运行时环境 (IcedTea7 2.3.2)
(7u7-2.3.2a-1+rpi1)OpenJDK 零虚拟机 (build 22.0-b10, 混合模式)
pi@raspberrypi /usr/lib/jvm $ ls -altr
total 28 -rw-r--r-- 1 root root 2437 Sep 26 2012 .java-1.7.0-openjdk-armhf.jinfo lrwxrwxrwx
1 root root 20 2012 年 9 月 26 日 java-1.7.0-openjdk-armhf -> java-7-> openjdk-armhf drwxr-xr-x 3 root root 4096 Jan 17 20:59 java-7-openjdk-common
drwxr-xr-x 5 root根 4096 1 月 17 日 21:00 java-7-openjdk-armhf
drwxr-xr-x 4 根根 4096 1 月 17 日 21:00。
drwxr-xr-x 74 root root 12288 Apr 24 20:32 ..
pi@raspberrypi /usr/lib/jvm $ uname -a
Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux

提前致谢,

BR,罗伯

4

1 回答 1

1

这个问题已经在这个线程的 Java Service Wrapper 用户邮件列表中讨论过,但这里是解决方案的摘要。

Wrapper 的 armhf 版本是在 armv7 平台上构建的,显然这与 armv6 硬浮点架构不兼容。当使用带有 armhf jvm 的包装器的 armel 版本时,由于目标不匹配,加载本机库会失败。

建议的解决方案是使用带有 armel 版本 Wrapper 的 armel jvm(因为 armv6 板应该支持两者),或者自己为他的板创建 armhf 二进制文件。对于第二个建议,必须下载、提取预发布包(来自 Wrapper 的 sourceforge 项目站点)并执行以下 shell 脚本:

./build32.sh release

使用创建的二进制文件,Wrapper 能够成功启动。(构建过程需要安装 JDK 和 Apache-Ant)

干杯,

于 2013-05-01T01:38:28.170 回答