2

在我的开发机器(Linux)上,我根本没有设置LD_LIBRARY_PATH,因为我使用的库要么在默认目录中,要么我已将它们添加到ld.conf.

但是当我使用 Eclipse 时,我LD_LIBRARY_PATH的设置为:

"/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:
/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
/usr/lib/xulrunner-1.9.2.17:
/usr/lib/xulrunner-1.9.2.17"

(为可读性添加了换行符)。

我不介意 xulrunner,但 OpenJDK 会导致我的应用程序加载

/usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjpeg.so

代替

/usr/lib/libjpeg.so

这导致随后的失败,因为来自 OpenJDK 的是 6b,而我使用的是 libjpeg 8。

我知道我可以LD_LIBRARY_PATH在编译 C++ 时覆盖,但是一旦我尝试执行链接我刚​​刚编译的共享库的 Python 代码,它就会失败。

我怎样才能改变这个全局LD_LIBRARY_PATH

4

2 回答 2

1

想到了两种方法:

  1. 从系统中删除 libjpeg6b 并希望 OpenJDK 对 libjpeg8 感到满意
  2. 针对 libjpeg8 重新编译 OpenJDK
于 2011-05-31T14:14:10.047 回答
1

你是从 Eclipse 启动 Python 吗?您可以在Run Configurations>Environment选项卡中设置 LD_LIBRARY_PATH ,因此它会覆盖您看到的默认值。

于 2011-06-01T11:32:59.187 回答