我通过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)
答案 0 :(得分:0)
这听起来像libxerces-c.a不是libxml.so所期望的版本。
如果是这种情况,我想你可能有2个选择。
将libxerces更新为预期版本。
在另一个位置安装正确版本的libxerces。设置LIBPATH环境变量时,请确保首先是预期版本的路径,以便加载该版本而不是旧版本。