OnDemand User Group
Support Forums => OD/WEK & JAVA API => Topic started by: frasert on November 01, 2014, 11:32:46 AM
-
I've installed ODWEK 9.0.0.3 on AIX and have set LIBPATH and CLASSPATH according to the documentation:
export LIBPATH=/opt/IBM/odwek/V9.0
export CLASSPATH=/opt/IBM/odwek/V9.0/api/ODApi.jar
I'm using the IBM sample code TcServerMisc from here:
http://pic.dhe.ibm.com/infocenter/cmod/v9r0m0/topic/com.ibm.ondemand.odwek.doc/ars5y00053.htm?path=6_1_6_8#tcservermisc
The code compiles fine but when I run it, I get:
java.lang.UnsatisfiedLinkError: ars3wapi32 (Not found in java.library.path)
Is this error referring to libars3wapi32.a? That file is in /opt/IBM/odwek/V9.0 which LIBPATH is set to, so I don't understand. I've tried different methods of setting the java library path but no luck so far:
System.setProperty("java.library.path", "/opt/IBM/odwek/V9.0")
java -Djava.library.path=/opt/IBM/odwek/V9.0 .....
setting LIBPATH in /etc/profile vs. my home .profile
-
You need to set the LD_LIBRARY_PATH as well in AIX
export LD_LIBRARY_PATH=/usr/lpp/ars/www
where /usr/lpp/ars/www is where the odwek libraries are installed.
-
I set LD_LIBRARY_PATH as well:
export LD_LIBRARY_PATH=/opt/IBM/odwek/V9.0
But I still get the same message.
This page says that LD_LIBRARY_PATH is for Linux & Solaris only:
http://www-01.ibm.com/support/knowledgecenter/SSEPCD_9.0.0/com.ibm.ondemand.odwek.doc/ars5y00041.htm%23ja4env
-
Hi - Did you try doing a ldd on the file
ldd libars3wapi32.a
and see if it has all the libraries it needs? Can you execute this command with the userid that is running the program? Generally if your path, classpath , libpath are set you should not be getting this. Is this a stand alone java program or web application ? Can you paste the entire stack here?
Thanks,
Siva
-
Ah, that does indicate that it's missing GSK libraries. Although libars3wapi64.a apparently has everything it needs. Should I be using libars3wapi64.a instead?
$ ldd libars3wapi32.a
libars3wapi32.a needs:
Cannot find libgsk8ssl.so
Cannot find libgsk8iccs.so
/usr/lib/libC.a(shr.o)
/usr/lib/libC.a(shr2.o)
/usr/lib/libC.a(shr3.o)
/usr/lib/libC.a(ansi_32.o)
/usr/lib/libpthreads.a(shr_comm.o)
/usr/lib/libpthreads.a(shr_xpg5.o)
/usr/lib/libc.a(shr.o)
/usr/lib/librtl.a(shr.o)
/usr/lib/libC.a(shrcore.o)
/usr/lib/libC.a(ansicore_32.o)
/unix
/usr/lib/libcrypt.a(shr.o)
$ ldd libars3wapi64.a
libars3wapi64.a needs:
/usr/lib/libgsk8ssl_64.so
/usr/lib/libgsk8iccs_64.so
/usr/lib/libC.a(shr_64.o)
/usr/lib/libC.a(shr2_64.o)
/usr/lib/libC.a(shr3_64.o)
/usr/lib/libC.a(ansi_64.o)
/usr/lib/libpthreads.a(shr_xpg5_64.o)
/usr/lib/libc.a(shr_64.o)
/usr/lib/libgsk8cms_64.so
/usr/lib/libC_r.a(ansi_64.o)
/usr/lib/libpthread.a(shr_xpg5_64.o)
/usr/lib/libdl.a(shr_64.o)
/usr/lib/libC.a(shrcore_64.o)
/usr/lib/libC.a(ansicore_64.o)
/unix
/usr/lib/libcrypt.a(shr_64.o)
/usr/lib/libgsk8sys_64.so
$ lslpp -l | grep -i gsk
GSKit8.gskcrypt64.ppc.rte
8.0.14.34 COMMITTED IBM GSKit Cryptography Runtime
GSKit8.gskssl64.ppc.rte 8.0.14.34 COMMITTED IBM GSKit SSL Runtime With
-
I got it working now. I had to install both GSKit 32-bit and 64-bit. Initially I only had 64-bit installed. Thanks for the help!!!
-
Hi,
Yes you need both. I am glad you figured it out!
Thanks,
Siva
-
Well that's not true, you don't need both 32 and 64 bit library.
You must check what java version you are using.
If you are using a 32bit version, then of course you need the gsk 32bit version. But if you ensure that EVERY component is 64bit, then you can install only the 64 one.
If you are not sure of all the component used, then of course you need to have always version in case you are using either 32 or 64 binaries.
Hope that help to clarify your issue and the issue of others.
Yours sincerely,
Alessandro