我最近在我的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相同,目前正在给我错误。 我该怎么做才能解决这个问题
答案 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版本,反之亦然。
祝你好运