【问题标题】:How can I specify the LIBPATH on a UniObjects for Java subroutine call?如何在 UniObjects for Java 子例程调用中指定 LIBPATH?
【发布时间】:2012-01-20 17:38:33
【问题描述】:

通过 UOJ 调用 UniSubroutine 时,由于 LIBPATH 设置,我遇到了 xml 错误。

参考 U2 知识库文章 SFMA-17048,我尝试使用 SETENV Unibasic 功能,但效果不佳。

我在 aix 5.3 上使用 Unidata 7.2.5。

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.

更多信息。

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)

【问题讨论】:

    标签: java xml rpc unidata uniobjects


    【解决方案1】:

    这听起来 libxerces-c.a 不是 libxml.so 所期望的版本。

    如果是这种情况,我认为您可能有 2 个选择。

    1. 将 libxerces 更新到预期版本。

    2. 在其他位置安装正确版本的 libxerces。设置 LIBPATH 环境变量时,请确保预期版本的路径位于首位,以便加载该版本而不是旧版本。

    【讨论】:

    • libxerces-c.a 和 libxml.so 具有相同的时间戳。它们都安装在最近的数据库升级中。我在 u2 libxerces 和 optio 上都做了一个 file(),u2 是 64 位 XCOFF,而 optio 版本是 RS6000 可执行文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多