Author: jfrederic.clere(a)jboss.com
Date: 2008-06-20 07:25:23 -0400 (Fri, 20 Jun 2008)
New Revision: 678
Modified:
trunk/java/org/apache/tomcat/jni/Library.java
trunk/java/org/apache/tomcat/jni/LibraryLoader.java
Log:
Throws exceptions when something is really wrong.
Otherwise stuff like:
+++
java.lang.UnsatisfiedLinkError:
/home/jfclere/jbossweb_trunk/output/build/bin/META-INF/lib/linux2/x64/libaprutil-1.so.0.2.8:
libpq.so.3: cannot open shared object file: No such file or directory
+++
Can't be traced.
Modified: trunk/java/org/apache/tomcat/jni/Library.java
===================================================================
--- trunk/java/org/apache/tomcat/jni/Library.java 2008-06-19 18:04:17 UTC (rev 677)
+++ trunk/java/org/apache/tomcat/jni/Library.java 2008-06-20 11:25:23 UTC (rev 678)
@@ -33,6 +33,7 @@
static private Library _instance = null;
private Library()
+ throws Exception
{
boolean loaded = false;
String err = "";
@@ -42,6 +43,16 @@
loaded = true;
}
catch (Throwable e) {
+ String name = System.mapLibraryName(NAMES[i]);
+ String path = System.getProperty("java.library.path");
+ String sep = System.getProperty("path.separator");
+ String [] paths = path.split(sep);
+ for (int j=0; j<paths.length; j++) {
+ java.io.File fd = new java.io.File(paths[j] +
System.getProperty("file.separator") + name);
+ if (fd.exists()) {
+ e.printStackTrace();
+ }
+ }
if ( i > 0)
err += ", ";
err += e.getMessage();
Modified: trunk/java/org/apache/tomcat/jni/LibraryLoader.java
===================================================================
--- trunk/java/org/apache/tomcat/jni/LibraryLoader.java 2008-06-19 18:04:17 UTC (rev 677)
+++ trunk/java/org/apache/tomcat/jni/LibraryLoader.java 2008-06-20 11:25:23 UTC (rev 678)
@@ -143,6 +143,12 @@
}
catch (Throwable d) {
if (!optional) {
+ java.io.File fd = new java.io.File(fullPath);
+ if (fd.exists()) {
+ d.printStackTrace();
+ } else {
+ System.out.println("Can't find: " + fullPath);
+ }
throw new UnsatisfiedLinkError(dlibName);
}
}