当我尝试在 Jetson TK1 上使用 protoc 3.0.0 alpha 3 和 jdk 1.8 编译 Bazel 0.1.0 时,我遇到了这个 JNI 链接错误

Posted

技术标签:

【中文标题】当我尝试在 Jetson TK1 上使用 protoc 3.0.0 alpha 3 和 jdk 1.8 编译 Bazel 0.1.0 时,我遇到了这个 JNI 链接错误【英文标题】:When I tried to compile Bazel 0.1.0 with protoc 3.0.0 alpha 3 and jdk 1.8 on Jetson TK1, I met this JNI link error 【发布时间】:2017-02-24 09:15:41 【问题描述】:

当我尝试在 Jetson TK1 上使用 protoc 3.0.0 alpha 3 和 jdk 1.8 编译 Bazel 0.1.0 时,我在 Building Bazel 工具中遇到了这个 JNI 链接错误。 信息:Blaze 版本信息:构建标签:head (@125b349) 构建目标:bazel-out/local_linux-fastbuild/bin/src/main/java/bazel-main_deploy.jar 构建时间:2017 年 2 月 24 日星期五 08:29:59 (1487924999) 构建时间戳:1487924999 将时间戳构建为 int:1487924999 2017 年 2 月 24 日上午 9:08:10 com.google.devtools.build.lib.runtime.BlazeRuntime 主要 信息:使用参数启动 Blaze 服务器 [--max_idle_secs,10800,--install_base=/home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba,--install_md5=2dac0f619e9cc270a8fcbda27d4228ba/.-output_base=home/ub缓存/bazel/_bazel_ubuntu/9a43f1fcce27c7feee2a9f965aa85b05,--workspace_directory=/home/ubuntu/Downloads/bazel,--nofatal_event_bus_exceptions,--option_sources=blazerc:] JNI 初始化失败:/home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba/_embedded_binaries/libunix.so:/home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba/_embeddedded输入 0x03。可能您的安装已损坏;如果此问题仍然存在,请尝试“rm -fr /home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba”。 java.lang.UnsatisfiedLinkError: /home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba/_embedded_binaries/libunix.so: /home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbded_binaries/libunix8.意外的重定位类型 0x03 在 java.lang.ClassLoader$NativeLibrary.load(Native Method) 在 java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) 在 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) 在 java.lang.Runtime.loadLibrary0(Runtime.java:870) 在 java.lang.System.loadLibrary(System.java:1122) 在 com.google.devtools.build.lib.UnixJniLoader.loadJni(UnixJniLoader.java:25) 在 com.google.devtools.build.lib.unix.ProcessUtils.(ProcessUtils.java:27) 在 com.google.devtools.build.lib.util.ProcessUtils$1.getpid(ProcessUtils.java:53) 在 com.google.devtools.build.lib.util.ProcessUtils.getpid(ProcessUtils.java:77) 在 com.google.devtools.build.lib.util.OsUtils.forceJNI(OsUtils.java:56) 在 com.google.devtools.build.lib.util.OsUtils.maybeForceJNI(OsUtils.java:43) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.newRuntime(BlazeRuntime.java:1437) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.createBlazeRPCServer(BlazeRuntime.java:1328) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.serverMain(BlazeRuntime.java:1301) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.main(BlazeRuntime.java:1097) 在 com.google.devtools.build.lib.bazel.BazelMain.main(BazelMain.java:56) 2017 年 2 月 24 日上午 9:08:10 com.google.devtools.build.lib.runtime.BugReport printThrowableTo 严重:Blaze 坠毁 java.lang.UnsatisfiedLinkError: /home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbda27d4228ba/_embedded_binaries/libunix.so: /home/ubuntu/.cache/bazel/_bazel_ubuntu/install/2dac0f619e9cc270a8fcbded_binaries/libunix8.意外的重定位类型 0x03 在 java.lang.ClassLoader$NativeLibrary.load(Native Method) 在 java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) 在 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) 在 java.lang.Runtime.loadLibrary0(Runtime.java:870) 在 java.lang.System.loadLibrary(System.java:1122) 在 com.google.devtools.build.lib.UnixJniLoader.loadJni(UnixJniLoader.java:25) 在 com.google.devtools.build.lib.unix.ProcessUtils.(ProcessUtils.java:27) 在 com.google.devtools.build.lib.util.ProcessUtils$1.getpid(ProcessUtils.java:53) 在 com.google.devtools.build.lib.util.ProcessUtils.getpid(ProcessUtils.java:77) 在 com.google.devtools.build.lib.util.OsUtils.forceJNI(OsUtils.java:56) 在 com.google.devtools.build.lib.util.OsUtils.maybeForceJNI(OsUtils.java:43) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.newRuntime(BlazeRuntime.java:1437) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.createBlazeRPCServer(BlazeRuntime.java:1328) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.serverMain(BlazeRuntime.java:1301) 在 com.google.devtools.build.lib.runtime.BlazeRuntime.main(BlazeRuntime.java:1097) 在 com.google.devtools.build.lib.bazel.BazelMain.main(BazelMain.java:56)

【问题讨论】:

【参考方案1】:

Bazel 0.1.0 是旧版本,最新的是 0.4.4。

您是否尝试按照Compiling from Source 的说明进行操作?

【讨论】:

我重试按照说明安装 bazel 并成功安装了 bazel 0.1.0。谢了!!

以上是关于当我尝试在 Jetson TK1 上使用 protoc 3.0.0 alpha 3 和 jdk 1.8 编译 Bazel 0.1.0 时,我遇到了这个 JNI 链接错误的主要内容,如果未能解决你的问题,请参考以下文章

Jetson TK1 开发板初用体会

Python multiprocessing.cpu_count() 在 4 核 Nvidia Jetson TK1 上返回“1”

Jetson tk1 安装 usbtoserials 驱动

JETSON TK1 ~ 刷机和克隆固件

Jetson tk1 刷机教程

当我尝试在jetson tx1中加载卷积预训练模型时,tensorflow中的错误被杀死