If libturbojpeg.jnilib is not found on Mac systems, specifically look for it under /usr/lib, since /usr/lib isn't part of the default java.library.path on that platform.

This commit is contained in:
DRC
2012-08-24 02:44:39 +00:00
parent f506e2cbb5
commit a6c9eaf155
3 changed files with 18 additions and 19 deletions

View File

@@ -22,6 +22,9 @@ symlinks in /usr/lib/i386-linux-gnu for the TurboJPEG libraries in /usr/lib32.
This allows those libraries to be used on MultiArch-compatible systems (such as
Ubuntu 11 and later) without setting the linker path.
[6] The TurboJPEG Java wrapper should now find the JNI library on Mac systems
without having to pass -Djava.library.path=/usr/lib to java.
1.2.1
=====

View File

@@ -34,22 +34,10 @@ compressing or decompressing consists of images of the same size, then
pre-allocating the buffers is recommended.
Note for OS X users
-------------------
/usr/lib, the directory under which libturbojpeg.dylib is installed on Mac
systems, is not part of the normal Java library path. Thus, when running a
Java application that uses TurboJPEG/OSS on Mac systems, you will need to pass
an argument of -Djava.library.path=/usr/lib to java.
Note for Solaris users
Installation Directory
----------------------
/opt/libjpeg-turbo/lib, the directory under which libturbojpeg.so is installed
on Solaris systems, is not part of the normal Java library path. Thus, when
running a Java application that uses TurboJPEG/OSS on Solaris systems, you will
need to pass an argument of -Djava.library.path=/opt/libjpeg-turbo/lib to java.
If using a 64-bit data model, then instead pass an argument of
-Djava.library.path=/opt/libjpeg-turbo/lib/amd64 to use the 64-bit version of
libturbojpeg.so.
If the TurboJPEG JNI library (libturbojpeg.so, libturbojpeg.jnilib, or
turbojpeg.dll) is not installed under a system library directory or under a
directory specified in LD_LIBRARY_PATH (Unix) or PATH (Windows), then you will
need to pass an argument of -Djava.library.path={path_to_JNI_library} to java.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C)2011 D. R. Commander. All Rights Reserved.
* Copyright (C)2011-2012 D. R. Commander. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -30,6 +30,14 @@ package org.libjpegturbo.turbojpeg;
final class TJLoader {
static void load() {
try {
System.loadLibrary("turbojpeg");
} catch (java.lang.UnsatisfiedLinkError e) {
String os = System.getProperty("os.name").toLowerCase();
if (os.indexOf("mac") >= 0) {
System.load("/usr/lib/libturbojpeg.jnilib");
}
else throw e;
}
}
};