Java不在AIX中工作

时间:2013-01-30 13:03:53

标签: java unix aix

我最近在我的AIX服务器上安装了git,git工作正常。

但是java现在还不行。

如果我做一个java --version,我会得到foll输出。

admin:stud:/webapps/WEB-INF/classes> java --version
exec(): 0509-036 Cannot load program java because of the following errors:
        0509-150   Dependent module /opt/freeware/lib/libiconv.a(shr4_64.o) could not be loaded.
        0509-152   Member shr4_64.o is not found in archive

我该如何解决这个问题。

以前安装了以下java版本。

admin:stud:/demo> java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pap64dev-20080315 (SR7))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc64-64 j9vmap6423-20080315 (JIT enabled)
J9VM - 20080314_17962_BHdSMr
JIT  - 20080130_0718ifx2_r8
GC   - 200802_08)
JCL  - 20080314

这是我的QA服务器的输出,它与dev机器安装的java相同,目前正在给我错误。 我该怎么做才能解决这个问题

1 个答案:

答案 0 :(得分:0)

在AIX上进行编译很难。我通常给ld一个libiconv的绝对路径,因为有开源版本和AIX的版本。

一种想法是将git移到一边。我通常创建一个名为.real的目录,并将git从它开始的位置移动到.real子目录。即如果get是/ down / this / path / git,则将其移至/down/this/path/.real/git。

然后写一个脚本/ down / this / path / git设置LIBPATH并执行一个exec到/down/this/path/.real/git

#!/bin/ksh
export LIBPATH=/blah/blah:/usr/lib
exec /down/this/path/.real/git "$@"

Java使这变得复杂,因为它设置了LIBPATH(或者它使用了)并忽略了之前设置的LIBPATH。

另外......你不想混合和匹配两个libiconv。如果某些东西需要开源版本,它需要使用它而不是AIX版本,反之亦然。

祝你好运