How can I specify the LIBPATH on a UniObjects for Java subroutine call?

500 views Asked by At

I am having xml errors due to a LIBPATH setting when calling a UniSubroutine through UOJ.

Referencing the U2 Knowledgebase article SFMA-17048, I tried using the SETENV Unibasic function, but this was not effective.

I am using Unidata 7.2.5 on aix 5.3.

In USER-FORMS/_PACK.LIST.DOC2XML at line 1741 Can't load "/usr/udthome/bin/libxml.so": could not load module /usr/udthome/bin/libxml.so.
   Dependent module /usr/optio/eci77/bin/libxerces-c.a could not be loaded.
   The module has an invalid magic number.
   Could not load module /usr/udthome/bin/libxml.so.
   Dependent module /usr/udthome/bin/libxml.so could not be loaded.

More info.

bash-4.2$ ldd libxml.so
libxml.so needs:
Cannot find libxslt4c.a
         /usr/lib/libC.a(shr_64.o)
         /usr/lib/libC.a(ansi_64.o)
Cannot find libxerces-c.a
         /usr/lib/libc_r.a(shr_64.o)
         /usr/lib/libC.a(ansicore_64.o)
         /usr/lib/threads/libc.a(shr_64.o)
         /usr/lib/libC.a(shrcore_64.o)
         /usr/lib/libC.a(shr3_64.o)
         /usr/lib/libC.a(shr2_64.o)
         /unix
         /usr/lib/libcrypt.a(shr_64.o)
1

There are 1 answers

1
Dan McGrath On

This sounds like libxerces-c.a is not the version that libxml.so is expecting.

If this is the case, I think you might have 2 options.

  1. Update libxerces to the expected version.

  2. Install the correct version of the libxerces in another location. When setting the LIBPATH environment variable, ensure the path to the expected version is first so it will load that instead of the older version.