【发布时间】:2016-11-02 11:21:44
【问题描述】:
在执行.jar 应用程序时,我需要链接一个特定的库。
我修改了变量LD_LIBRARY_PATH 并添加(作为第一个目录)包含所需库的文件夹的路径。我也尝试使用选项-Djava.library.path="path_to_.so" 执行应用程序,但结果相同。
具体来说,我得到的结果是:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /.../application/lib64/libshmlib.so:
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /.../another_application/lib64/libshmlib.so)
除了前面提到的还有其他加载库的选项吗?
【问题讨论】:
-
你需要一份
libshmlib.so的副本,该副本是在与你正在运行的版本具有相同或更旧版本的libc的linux 版本上编译的。投诉通常是因为您使用的libc版本比构建库时使用的libc版本更旧,并且此错误是告诉您旧的东西可能无法运行更新的东西。
标签: java linux shared-libraries static-libraries static-linking