[TYPO3-linux] javadoc , JAVA_HOME , gettext build_sec.sh

Anselm Cosler typo3 at cosler.de
Thu Jan 5 21:39:39 CET 2006


build_sec.sh und der javadoc error!

Hallo Liste

Hier eine kleine Fallstudie ueber den "javadoc" Error, welcher bei 
Scriptausfuehrung des Secure Linux Installscripts "build_sec.sh" von 
Lars Leuchter auftreten kann, die hoffentlich dem Ein oder Anderen hilft.


1. Bei "build_sec.sh" muessen die Rechte fuers Ausfuehren freigeben 
sein! (Klaro)

2. Versucht man, je nach Rechnerkonfiguration, "build_sec.sh" mit 
./build_sec.sh oder eine der optionalen Parameter (Optionen) wie unter 
Quick und Lazy, Quick, Common, Recommendet oder so beschrieben 
auszufuehren, kommt es zur Fehlermeldung:

**WARNING: javadoc found with JAVA_HOME; extending PATH
**ERROR: missing 'javadoc'

Nach laengerer Suche finde ich den Kommentar von Lars Leuchter unter :

"HowTo" der http://www.typo3-installer.de/index.php?HowTo&id=690#HowTo !

* gettext requires javadoc TM for building. Depending on the installed 
jsdk or jre
   package of Java, it may fail with errors (mainly missing program or a 
missing
   library). This problem is not easy to identify or fix automatically.
   Set proper environment variables for:  PATH, JAVA_HOME, CLASSPATH .

Nachdem ich noch die Optionen:

    --read-rc         - read configuration from  .build_sec

	This must be the very first option. All following options are ignored.
	NOTE that this overwrites the internal defaults.
	Keep in mind that  .build_sec  will always be rewritten, even if this
	option will be used.
	--read-rc   is just a quick&dirty method for using options.

sowie auch:

    --force-rc        - overwrite existing configuration in  .build_sec



ohne Erfolg versucht habe, suche ich nach Postings bezueglich der 
Fehlermeldungen und deren Beseitigung.
Bei Java finde ich, das "javadoc TM" nur mit dem Java SDK installiert 
wird, nicht aber mit meiner JRE1.5.0_06!!!
Prima! Also ein Stueckchen weiter..

Daraufhin den J2SDK1.4... runtergeladen um ihn in 
/usr/local/java/j2SDK.... zu installieren,

Ich versuche JavaSDK zu installieren.


Hier streikt der Installer wegen fehlender Libraries.

[root at fedora java]# ./j2eesdk-1_4_02_2005Q2-linux-ml.bin
./j2eesdk-1_4_02_2005Q2-linux-ml.bin: error while loading shared 
libraries: libs tdc++-libc6.2-2.so.3: cannot open shared object file: No 
such file or directory.
Gleiches geschieht auch bei der einfachen nicht ebundelten SDK Version 
J2SDK1.4... .

Weiteres Googlen fuehrt zu folgendem Posting:

"Hi,

For all the people who encounter the same problem, there is an rpm called
compat-libstdc++

which for Fedora 1 is compat-libstdc++-7.3-2.96.118 RPM for i386

This package provides the library and doesn't requires anything else

Hopefully it will helps someone,

XX"

(gesamtes Posting unter: 
http://www.linuxquestions.org/questions/showthread.php?postid=893984 ).

Die Dateien finde ich wie folgt unter:
"
http://rpm.pbone.net/index.php3/stat/3/limit/3/srodzaj/1/dl/40/search/libstdc++-libc6.2-2.so.3/dist%5B%5D/44/dist%5B%5D/41/dist%5B%5D/37/dist%5B%5D/31/dist%5B%5D/32/dist%5B%5D/1/dist%5B%5D/28/dist%5B%5D/2/dist%5B%5D/3/dist%5B%5D/4/dist%5B%5D/5/dist%5B%5D/7/dist%5B%5D/42/dist%5B%5D/36/dist%5B%5D/35/dist%5B%5D/11/dist%5B%5D/12/dist%5B%5D/45/dist%5B%5D/34/dist%5B%5D/13/dist%5B%5D/14/dist%5B%5D/15/dist%5B%5D/17/dist%5B%5D/18/dist%5B%5D/46/dist%5B%5D/33/dist%5B%5D/19/dist%5B%5D/20/dist%5B%5D/23/dist%5B%5D/24/dist%5B%5D/25/dist%5B%5D/26/dist%5B%5D/27/dist%5B%5D/29/dist%5B%5D/30/dist%5B%5D/38/dist%5B%5D/39/dist%5B%5D/40/dist%5B%5D/43/field%5B%5D/1/field%5B%5D/2
"
Hier gibt es Versionen fuer verschiedenste Distributionen und Cores.

Bitte passende Version runterladen und mit:

rpm -ihv compat-libstdc++-7.3-2.96.126.i386.rpm #(Bei meiner Fedora 
Core2 ist es zumindest diese rpm, ansonsten  halt die benoetigte verwenden).

Jetzt checke ich die Installation der Libs in "/usr/lib/" und siehe da 
....! Prima.

Jetzt funktioniert auch die Installation des Java SDKs.

Fuer mich wie bereits erwaehnt mit:

[root at fedora root]# cd /usr/local/java
[root at fedora java]# ./j2eesdk-1_4_02_2005Q2-linux-ml.bin

Anschliessend versuche ich "build_sec.sh" erneut aufzurufen und es kommt 
wieder die gleiche Fehlermeldung mit den "javadoc TM"s.

Es geht also wieder zurueck zum Kommentar "This problem is not easy to 
identify or fix automatically. Set proper environment variables for: 
PATH, JAVA_HOME, CLASSPATH ."

Also build_sec.sh mit dem Texteditor oeffnen und mal nachsehen.
Hier zeigt sich freundlicherweise eine sehr einfache Loesung fuer das 
Problem:

In folgendem Abschnitt ist sie verborgen:

case "$platform" in
     'SunOS')
	# Solaris supports POSIX complient programs in /usr/xpg4
	__path='/usr/xpg4/bin /usr/local/bin /bin /usr/bin'
	;;
     'Linux')
	__path='/bin /usr/bin /usr/local/bin '
	;;
     'Debian')
	useradd=useradd
	groupadd=echo
	;;
     *) echo "**ERROR: unsupported platform '$platform'"; exit 1 ;;

Die Umgebungsvariable "__path" zeigt nicht ausreichend tief in die 
Verzeichnisstruktur.
Lediglich /bin, /usr/bin und /usr/local/bin werden einbezogen.
Die meisten Installationsanweisungen fuer Java empfehlen aber, je nach 
Rechtvergabe das Java Emviroment als einen eigenen Ordner 
(Java/JavaXY(Version)/) unter "/home/", "/opt/", oder "/usr/local/" zu 
installieren.

Hieraus ergibt sich also eine Erweiterung der Umgebungsvariablen:

z.B.: 'Linux')
	__path='/bin /usr/bin /usr/local/bin /usr/local/java/j2sdk1.4.2_10/bin"

oder aehnlich!

Jetzt sollte die Fehlermeldung mit dem javadoc Error behoben sein.

Viel Erfolg

Gruss
Anselm Cosler



More information about the TYPO3-linux mailing list