openjdk-7.55.13_3,1: UnsatisfiedLinkError jpeg_resync_to_restart

Jonathan Chen jonc at chen.org.nz
Tue Apr 29 23:16:00 UTC 2014


On 28 April 2014 13:51, Jonathan Chen <jonc at chen.org.nz> wrote:
> Hi,
>
> I'm trying out the latest openjdk-7.55.13_3,1 with squirrel-sql and
> have noticed that the logs are reporting:
>
> java.lang.UnsatisfiedLinkError:
> /usr/local/openjdk7/jre/lib/amd64/libsplashscreen.so:
> /usr/local/openjdk7/jre/lib
> /amd64/libsplashscreen.so: Undefined symbol "jpeg_resync_to_restart"
>     at java.lang.ClassLoader$NativeLibrary.load(Native Method)

So I had a look at this with openjdk-7.55.13_4,1, and it appears that
the internal openjdk jpeg library is being compiled with
"NEED_SHORT_EXTERNAL_NAMES" defined, resulting in libjpeg.so with the
shortened name of "jResyncRestart"

11:00am> nm /usr/local/openjdk7/jre/lib/amd64/libjpeg.so | grep jResync
000000000000f6e0 T jResyncRestart

However, when libsplashscreen.so is built, "NEED_SHORT_EXTERNAL_NAMES"
has not been defined and the expanded "jpeg_resync_to_restart" symbol
is used instead, resulting in the undefined reference.

Unfortunately, I can't determine just how libjpeg.so is being built,
and where the unecessary "NEED_SHORT_EXTERNAL_NAMES" is being defined
in the build. Any pointers from the list would be appreciated.

Cheers
-- 
Jonathan Chen <jonc at chen.org.nz>


More information about the freebsd-java mailing list