Eclipse: LD_LIBRARY_PATH, OpenJDK and libjpeg

2019-05-24 04:12发布

问题:

On my development machine (Linux) I have not set LD_LIBRARY_PATH at all, as the libraries I'm using are either in default directories or I've added them to ld.conf.

But when I'm using Eclipse, my LD_LIBRARY_PATH is set to:

"/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"

(added line breaks for readability).

I don't mind xulrunner ones, but the OpenJDK causes my apps to load

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

instead of

/usr/lib/libjpeg.so

Which lead to subsequent fail, as the one from OpenJDK is 6b, while I'm using libjpeg 8.

I know I can override LD_LIBRARY_PATH while compiling C++, but it fails as soon as I try to execute Python code linking the shared libraries I've just compiled.

How can I change this global LD_LIBRARY_PATH?

回答1:

Two methods come to mind:

  1. Remove libjpeg6b from the system and hope that OpenJDK will be happy with libjpeg8
  2. Recompile OpenJDK against libjpeg8


回答2:

Are you launching the Python from eclipse? You can set the LD_LIBRARY_PATH in the Run Configurations>Environment tab, so it overrides whatever you see as the default one.