Ik heb een probleempje om een java programma onder RedHat 9 te draaien.
Het programma is voor mij behoorlijk crusiaal, aangezien het het management software is van mijn Raid controller.
Omdat mijn machine standaard geen java geïnstalleerd had, heb ik bij Sun de JRE 2, versie 1.4.2_06 gedownload en geïnstalleerd.
Als ik de sample bestanden open, dan werkt alles probleemloos, maar als ik de software van mijn Raid controller probeer te starten krijg ik de volgende fout:
Op zich een duidelijke fout, maar als ik in code kijk van het programma, dan staan alle verwijzing (zo op het oog, ik weet niet hoe een shell script precies in elkaar steekt) goed.
Voor de duidelijkheid, ik het het script aan moeten passen, want het ging uit van een andere install-dir (/jre of /java ipv /usr/java/j2re1.4.2_06)
Ik heb hieronder het script staan. Wellicht dat daar nog ergens een fout zit.
De install-dir is als volgt opgebouwd:
De libjava.so staat in /usr/java/j2re1.4.2_06/lib/i386
Het programma is voor mij behoorlijk crusiaal, aangezien het het management software is van mijn Raid controller.
Omdat mijn machine standaard geen java geïnstalleerd had, heb ik bij Sun de JRE 2, versie 1.4.2_06 gedownload en geïnstalleerd.
Als ik de sample bestanden open, dan werkt alles probleemloos, maar als ik de software van mijn Raid controller probeer te starten krijg ik de volgende fout:
code:
1
2
| Error: could not find libjava.so Error: could not find Java 2 Runtime Environment |
Op zich een duidelijke fout, maar als ik in code kijk van het programma, dan staan alle verwijzing (zo op het oog, ik weet niet hoe een shell script precies in elkaar steekt) goed.
Voor de duidelijkheid, ik het het script aan moeten passen, want het ging uit van een andere install-dir (/jre of /java ipv /usr/java/j2re1.4.2_06)
Ik heb hieronder het script staan. Wellicht dat daar nog ergens een fout zit.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| #!/bin/sh
# starts the Storage Manager Agent
unset JAVA_HOME CLASSPATH JFLAGS
OS=`uname -s`
case $OS in
"UnixWare")
INSTDIR=/opt/RaidMan
if [ -d /usr/java2 ]; then
JAVA_HOME=/usr/java2
elif [ -d /usr/jre2 ]; then
JAVA_HOME=/usr/jre2
elif [ -d /usr/java ]; then
JAVA_HOME=/usr/java
elif [ -d /usr/jre ]; then
JAVA_HOME=/usr/jre
fi
THREADS_FLAG=native
JAVA_COMPILER=NONE
JFLAGS="-mx52m -ms8m"
export JAVA_COMPILER JFLAGS
;;
"OpenUNIX")
INSTDIR=/opt/RaidMan
if [ -d /usr/java2 ]; then
JAVA_HOME=/usr/java2
elif [ -d /usr/jre2 ]; then
JAVA_HOME=/usr/jre2
elif [ -d /usr/java ]; then
JAVA_HOME=/usr/java
elif [ -d /usr/jre ]; then
JAVA_HOME=/usr/jre
fi
THREADS_FLAG=native
JAVA_COMPILER=NONE
JFLAGS="-mx52m -ms8m"
export JAVA_COMPILER JFLAGS
;;
"SCO_SV" )
INSTDIR=/opt/RaidMan
if [ -d /usr/java2 ]; then
JAVA_HOME=/usr/java2
elif [ -d /usr/jre2 ]; then
JAVA_HOME=/usr/jre2
elif [ -d /usr/java ]; then
JAVA_HOME=/usr/java
elif [ -d /usr/jre ]; then
JAVA_HOME=/usr/jre
fi
THREADS_FLAG=green
JAVA_COMPILER=NONE
JFLAGS="-mx52m -ms8m"
export JAVA_COMPILER JFLAGS
;;
"Linux")
INSTDIR=/usr/RaidMan
Arch=`uname -m`
if [ "$Arch" = "ia64" ];then
JAVA_HOME="./IBMJava2-ia64-13"
else
JAVA_HOME="./usr/java/j2re1.4.2_06"
fi
JAVA_BIN=$JAVA_HOME/bin
JAVA_LIB=$JAVA_HOME/lib/i386
;;
esac
if [ ! "$JAVA_BIN" ]; then
JAVA_BIN=$JAVA_HOME/bin
fi
if [ ! "$JAVA_LIB" ]; then
JAVA_LIB=$JAVA_HOME/lib/i386
fi
LD_LIBRARY_PATH=$INSTDIR:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH JAVA_HOME JAVA_BIN JAVA_LIB CLASSPATH THREADS_FLAG
cd $INSTDIR
if [ "$OS" = "Linux" ]; then
./java -Djava.compiler=NONE -cp $INSTDIR/RaidMan.jar com.ibm.sysmgt.raidmgr.agent.ManagementAgent $*
else
if [ -f $JAVA_BIN/java ]; then
$JAVA_BIN/java $JFLAGS -classpath $INSTDIR/RaidMan.jar:$JAVA_LIB/classes.zip com.ibm.sysmgt.raidmgr.agent.ManagementAgent $* &
else
$JAVA_BIN/jre $JFLAGS -nojit -cp $INSTDIR/RaidMan.jar -cp $JAVA_LIB/classes.zip com.ibm.sysmgt.raidmgr.agent.ManagementAgent $* &
fi
fi |
De install-dir is als volgt opgebouwd:
code:
1
2
3
4
| /usr/java/j2re1.4.2_06/ /usr/java/j2re1.4.2_06/bin /usr/java/j2re1.4.2_06/lib /usr/java/j2re1.4.2_06/lib/i386 |
De libjava.so staat in /usr/java/j2re1.4.2_06/lib/i386
Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier