Altes Installationsskript richtig ausführen?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 01.01.2025 09:11:41

Ich möchte ein altes Installationsskript zum Laufen bringen (es handelt sich um eine Software-Wörterbuch-CD von 2004, auch "Der Digitale Grimm" genannt), aber mir fehlt das nötige Linux-Wissen. Es ist in einer .sh-Datei enthalten (installCD1.sh) und die Zeilen des Skripts sind wie folgt:

unzip $1/Linux/dwb.zip
mkdir Data/DWB
chmod +w Data
chmod +w Data/DWB
cp -Rv $1/Data .
chmod +x ./DWB
chmod -R u+x ./bin
chmod u+x ./bin/wish8.3
chmod -R u+r .
echo "Installation CD1 beendet."
echo "Melden Sie das CD-Laufwerk ab und legen Sie bitte CD2 ein."

Die Bedienungsanleitung dazu, verlangt die folgenden einfachen Schritte:
-Verzeichnis erstellen (mkdir DWB)
-ins Verzeichnis wechseln (cd)
-CD einhängen (mount)
-Installationsskript ausführen (sh)

Beim letzten Punk hänge ich fest. Der Befehl "sh '/media/sanshiro/DWB CD1/Linux/installCD1.sh'" von dem neu erstellten Verzeichnis aus, führt zu diesem Output:

unzip: cannot find or open /Linux/dwb.zip, /Linux/dwb.zip.zip or /Linux/dwb.zip.ZIP.
mkdir: cannot create directory ‘Data/DWB’: No such file or directory
chmod: cannot access 'Data': No such file or directory
chmod: cannot access 'Data/DWB': No such file or directory
cp: cannot stat '/Data': No such file or directory
chmod: cannot access './DWB': No such file or directory
chmod: cannot access './bin': No such file or directory
chmod: cannot access './bin/wish8.3': No such file or directory
Installation CD1 beendet.
Melden Sie das CD-Laufwerk ab und legen Sie bitte CD2 ein.

Nun zu meiner Schlüsselfrage (denn ich meine, dass hier ein Lösungsansatz liegen könnte):
Es bietet sich ja an, die einzelnen Befehle manuell auszuführen. Wie aber soll zwischen dem Inhalt der CD und dem Installationsverzeichnis vermittelt werden? Davon habe ich halt keine Ahnung...
[Außerdem scheint mir, dass evtl. die Verzeichnisse auf der CD Fehlerhaft angeordnet sind?? Es ist zumindest auffällig, dass das Installationsskript sowie die "dwb.zip"-Datei, sich in einem gesonderten "Linux"-Order befinden während der große "Data"-Ordner, der wohl die 595 MB an rohen Wörterbuchdaten enthält, direkt im Hauptverzeichnis der CD angelegt wurde. Aber ich habe wie gesagt keine Ahnung!]

Ich bin übrigens schon bei Google gewesen mit meiner Frage, aber der Begriff "Installationsskript" wies mich immer nur in benachbarte Gebiete.

Für etwas Hilfe wäre ich dankbar, denn ich benutze dieses Wörterbuch sehr häufig. Es ist zwar auch online abrufbar https://woerterbuchnetz.de/?sigle=DWB, aber ich möchte für alle Fälle wissen, ob die CD noch nutzbar ist. Denn eine Volltextsuche ist in der gedruckten Ausgabe aus 32 Bänden (die ich vorwiegend benutze) nicht möglich, sondern momentan nur online. Ich möchte aber in Zukunft offline damit arbeiten (darum habe ich mir diese CD gekauft).

Auf Windows 10 ließ es sich übrigens auch nicht installieren.

Benutzeravatar
Huo
Beiträge: 831
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Altes Installationsskript richtig ausführen?

Beitrag von Huo » 01.01.2025 10:05:29

Im Ubuntuusers-Forum findet sich eine Diskussion zur Installation des Digitalen Grimm, die vielleicht einen brauchbaren Ansatz liefern kann: https://forum.ubuntuusers.de/topic/der- ... st-zickig/

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 01.01.2025 10:45:49

sanshiro hat geschrieben: ↑ zum Beitrag ↑
01.01.2025 09:11:41
Es ist in einer .sh-Datei enthalten (installCD1.sh) und die Zeilen des Skripts sind wie folgt:

unzip $1/Linux/dwb.zip
[...]
Die Bedienungsanleitung dazu, verlangt die folgenden einfachen Schritte:
[...]
-Installationsskript ausführen (sh)

Beim letzten Punk hänge ich fest. Der Befehl "sh '/media/sanshiro/DWB CD1/Linux/installCD1.sh'" von dem neu erstellten Verzeichnis aus, führt zu diesem Output:

unzip: cannot find or open /Linux/dwb.zip, /Linux/dwb.zip.zip or /Linux/dwb.zip.ZIP.
[...]
mkdir: cannot create directory ‘Data/DWB’: No such file or directory
Der Punkt ist dieses $1 im Skript bei

Code: Alles auswählen

unzip $1/Linux/dwb.zip
dem Skript fehlt das Verzeichnis als 1. Argument, wo es die Datei "Linux/dwb.zip" findet. Der Aufruf sollte also so Aussehen:

Code: Alles auswählen

sh '/media/sanshiro/DWB CD1/Linux/installCD1.sh' '/abc/def/'
wenn die Datei in "/abc/def/Linux/dwb.zip" liegt. Man könnte jetzt zwar mutmaßen, dass die beiden "Linux"-Pfadbestandteilt identisch sind, allerdings sollte die Software das auch rausfinden können!? Naja, vielleicht trotzdem einfach so:

Code: Alles auswählen

sh '/media/sanshiro/DWB CD1/Linux/installCD1.sh' '/media/sanshiro/DWB CD1/'
Wenn $1 allerdings im Skript nicht als "$1" gequotet ist und der Pfad wirklich das Leerzeichen ".../DWB CD1/..." enthält, dann wird das so nicht funktionieren.
Oder sind das bereits 2 Argumente und "CD1/Linux/installCD1.sh" ist der lokale Pfad zum Skript? Dann musst du die beiden sh-Argumente in der Reihenfolge wohl einfach nur rumdrehen!?

EDIT: Tja, offensichtlich werden bereits eingegangene Beiträge beim Absenden wohl auch nur noch nach Zufallsprinzip eingeblendet.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 01.01.2025 11:32:32

@tobo Vielen Dank für diese sehr vielversprechenden Lösungsvorschläge. Ich habe sie gleich schon ausprobiert. Aber ich bekomme bisher immernoch die gleiche Fehlermeldung...

Das Ende des Beitrags konnte ich nicht nachvollziehen, als es um die Leerzeichen im Pfad ging. War das auch noch ein Lösungsvorschlag? Oder ging es noch um die Ermittlung weiterer Einzelheiten? Ich bin leider ziemlich unerfahren.

Ich werde jetzt mal den Link vom anderen User anschauen, denn auf die Idee war ich selber nicht gekommen, gezielt nach Digitalen Grimm / "installation" zu suchen. :P Ich bin wohl etwas sturköpfig..

Edit: Das Ubuntuusers-Forum scheint auch zu keiner Lösung gekommen zu sein. Es gibt wohl tatsächlich Fehler im Installationsskript (denn alle Nutzer die sich dort zu Wort melden, sind bei der Installation nicht erfolgreich gewesen).

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 01.01.2025 15:39:15

sanshiro hat geschrieben: ↑ zum Beitrag ↑
01.01.2025 11:32:32
Das Ende des Beitrags konnte ich nicht nachvollziehen, als es um die Leerzeichen im Pfad ging. War das auch noch ein Lösungsvorschlag? Oder ging es noch um die Ermittlung weiterer Einzelheiten? Ich bin leider ziemlich unerfahren.
Das war der Versuch herauszufinden, wo du dich überhaupt im Dateibaum befindest und wo relativ dazu das Skript liegt. Du hast ein Verzeichnis angelegt mit `mkdir DWB' und bist dann ins Verzeichnis gewechselt mit `cd DWB'. Wenn du also in diesem Verzeichnis stehst, wie ist dann (mit eingelegter und gemounteter CD1) die Ausgabe der beiden folgenden Kommandos:

Code: Alles auswählen

pwd
find / -type f -name installCD1.sh
und in welches Verzeichnis soll das Programm installiert werden? Das find-Kommando kann durchaus seine Zeit brauchen.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 01.01.2025 17:21:30

Danke für die Antwort!

Beim ersten Befehl (pwd) kommt:

Code: Alles auswählen

/home/sanshiro/DWB
Beim zweiten Befehl (find / -type f -name installCD1.sh):

Code: Alles auswählen

/media/sanshiro/DWB CD1/Linux/installCD1.sh
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/run/user/1000/gvfs’: Permission denied
Ich denke die beiden letzten Zeilen muß ich nicht beachten...

Das Ziel-Verzeichnis für die Installation befindet sich bei:
/home/sanshiro/DWB
(also wie oben beim "pwd" Befehl)

Eine Umdrehen der Reihenfolge der sh-Argumente ergab

Code: Alles auswählen

/media/sanshiro/DWB CD1/Linux/dwb.zip: 1: P���0�m�l�9DWB]��: not found
/media/sanshiro/DWB CD1/Linux/dwb.zip: 4: Syntax error: "(" unexpected
Ich muß mich für heute abmelden. Aber ich setze mich morgen nochmal ran.
Schönen 1. Januar noch!

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 01.01.2025 18:01:43

Um das Argument $1 zu bestimmen fehlt noch ein Verzeichnis, der Ablageort von dwb.zip:

Code: Alles auswählen

find / -type f -name dwb.zip
Vermutlich im selben Verzeichnis wie installCD1.sh und wenn ja, dann muss man das Skript umschreiben: Dann lege dir folgendes neues Skript (Änderungen in Zeile 1, 2 und 5) als /home/sanshiro/DWB/install1.sh an:

Code: Alles auswählen

unzip "$1"/Linux/dwb.zip
mkdir -p Data/DWB
chmod +w Data
chmod +w Data/DWB
cp -Rv "$1"/Data .
chmod +x ./DWB
chmod -R u+x ./bin
chmod u+x ./bin/wish8.3
chmod -R u+r .
echo "Installation CD1 beendet."
echo "Melden Sie das CD-Laufwerk ab und legen Sie bitte CD2 ein."
Und dann startest du die Installation (wieder aus /home/sanshiro/DWB und mit eingelegter und gemounteter CD) durch:

Code: Alles auswählen

sh install1.sh "/media/sanshiro/DWB CD1"

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 02.01.2025 12:18:50

Wahnsinn, es hat geklappt!
Ich habe es geschafft das Skript umzuschreiben, und selbst CD2 konnte (mit einer kleinen Abänderung des Befehls) installiert werden. Bei CD2 gab es eine kleine Fehlermeldung:

Code: Alles auswählen

unzip:  cannot find or open /media/sanshiro/DWB CD2/Linux/dwb.zip, /media/sanshiro/DWB CD2/Linux/dwb.zip.zip or /media/sanshiro/DWB CD2/Linux/dwb.zip.ZIP.
Da in CD2 aber keine "dwb.zip" vorhanden ist, scheint's mir unbedenklich.

Ich war wirklich begeistert heute morgen als plötzlich alles lief (und die Installation scheinbar komplett zu ihrem Abschluss kam). Nur kann ich noch nicht endgültig bestätigen dass das Programm läuft, da das Shell-Skript (zum Starten des Programms) mir diese Fehlermeldung wiedergibt:

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
./bin/wish8.3: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
xset:  warning, no entries deleted from font path.
In der Bedienungsanleitung steht: "Unter Linux starten Sie das digitale DWB mit der Anweisung ./DWB". Muss ich vielleicht noch irgendwelche Dateien und Ordner herumschieben, wegen dem abgeänderten Installationsskript?

Vielen Dank @tobo!
Zuletzt geändert von sanshiro am 02.01.2025 14:53:43, insgesamt 1-mal geändert.

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 02.01.2025 12:36:12

sanshiro hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 12:18:50
In der Bedienungsanleitung steht: "Unter Linux starten Sie das digitale DWB mit der Anweisung ./DWB". Muss ich vielleicht noch irgendwelche Dateien und Ordner herumschieben, jetzt nachdem das Installationsskript etwas abgeändert worden ist?
Ne, dir fehlt vermutlich (erstmal) nur eine Bibliothek. Darauf weist

Code: Alles auswählen

./bin/wish8.3: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
Welche das ist, findet sich mit apt-file:

Code: Alles auswählen

$ apt-file search libX11.so.6
libx11-6: /usr/lib/x86_64-linux-gnu/libX11.so.6
libx11-6: /usr/lib/x86_64-linux-gnu/libX11.so.6.4.0
nxagent: /usr/lib/x86_64-linux-gnu/nx/X11/libX11.so.6
nxagent: /usr/lib/x86_64-linux-gnu/nx/X11/libX11.so.6.3.0
$
Ich würde also mal libx11-6 durch:

Code: Alles auswählen

apt-get install libx11-6
installieren und dann nochmal probieren.

EDIT: Du hast das Skript jetzt aber nicht mit CD2 nochmal aufgerufen, oder? Was genau waren denn deine Änderungen am Skript und was machte CD2? Gibt es auf CD2 vielleicht ein anderes Installationsskript?
Zuletzt geändert von tobo am 02.01.2025 12:47:53, insgesamt 3-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Altes Installationsskript richtig ausführen?

Beitrag von MSfree » 02.01.2025 12:37:44

libX11.so.6 sollte auf jedem Linux vorhanden sein, es sei denn, man installiert komplett ohne graphische Umgebung. Was ich mir hier aber vorstellen kann, ist, daß DWB noch eine 32-Bit Anwendung ist und du Linux als 64-Bit installiert hast. Deine Anwendung scheint ja von 2004 zu sein, Die ersten offiziellen Linux-Distributionen mit amd64-Unterstützung kamen erst so gegen 2005 und später (Debian erst 2007).

Klarheit sollte der Befehl

Code: Alles auswählen

file DWB
liefern.

Sollte sich mein Verdacht bestätigen, dann mußt du die x86-Architektur (also 32-Bit) nachinstallieren.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 02.01.2025 12:49:29

@MSfree: ja, libx11-6 war bei mir bereits installiert.

Beim Befehl "file DWB" bekomme ich den Output:

Code: Alles auswählen

DWB: POSIX shell script, ASCII text executable
Ich hatte eben den Inhalt des Shell-Skripts hier eingestellt und dann wieder gelöscht. Wäre es vielleicht doch eine nützliche Information??

Code: Alles auswählen

TCL_LIBRARY=./lib/tcl8.3
export TCL_LIBRARY
TK_LIBRARY=./lib/tk8.3
export TK_LIBRARY
TIX_LIBRARY=./lib/tix8.1
export TIX_LIBRARY
#BLT_LIBRARY=/home/burch/MhdWB/lib/blt2.4
#export BLT_LIBRARY
LD_LIBRARY_PATH=./lib
export LD_LIBRARY_PATH

xset fp+ ./Fonts
./bin/wish8.3 Src/Main.tcl $1
xset fp- ./Fonts
Zuletzt geändert von sanshiro am 02.01.2025 13:13:53, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Altes Installationsskript richtig ausführen?

Beitrag von MSfree » 02.01.2025 13:01:40

sanshiro hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 12:49:29
Beim Befehl "file DWB" bekomme ich den Output:

Code: Alles auswählen

DWB: POSIX shell script, ASCII text executable
Öhm, ja, ich vergaß, das ist ja nur eine ASCII-Datei.

Code: Alles auswählen

file ./bin/wish8.3
sollte Aufschluß darüber geben, ob das ein 32-Bit-Programm ist.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 02.01.2025 13:06:10

EDIT: Du hast das Skript jetzt aber nicht mit CD2 nochmal aufgerufen, oder? Was genau waren denn deine Änderungen am Skript und was machte CD2? Gibt es auf CD2 vielleicht ein anderes Installationsskript?
@tobo Ich habe nur den Befehl geändert. Das Skript hat (unverändert) auch für CD2 gegriffen. Auf CD2 gab es überhaupt keine Skript-Dateien, nur einen Ordner gefüllt mit .IDX und .XDAT...

@MSfree Und hier noch die Antwort bzgl. 32-Bit. Ich bekomme folgenden Output:

Code: Alles auswählen

./bin/wish8.3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped
Zuletzt geändert von sanshiro am 02.01.2025 13:33:42, insgesamt 2-mal geändert.

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 02.01.2025 13:12:23

sanshiro hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 13:06:10
EDIT: Du hast das Skript jetzt aber nicht mit CD2 nochmal aufgerufen, oder? Was genau waren denn deine Änderungen am Skript und was machte CD2? Gibt es auf CD2 vielleicht ein anderes Installationsskript?
@tobo Ich habe nur den Befehl geändert. Das Skript hat (unverändert) auch für CD2 gegriffen. Auf CD2 konnte ich gab es überhaupt keine Skript-Dateien, nur einen Ordner gefüllt mit .IDX und .XDAT...
Das war vermutlich nicth so clever, da im Skript auf CD2 (falls es sowas überhaupt gibt) bestimmt was ganz anderes steht und das separat angepasst werden muss!? Also, gibt es auf CD2 ein Installationsskript und wenn ja, was ist der Inhalt?
Zuletzt geändert von tobo am 02.01.2025 13:41:46, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Altes Installationsskript richtig ausführen?

Beitrag von MSfree » 02.01.2025 13:31:06

sanshiro hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 13:06:10
@MSfree Und hier noch die Antwort bzgl. 32-Bit. Ich bekomme folgenden Output:

Code: Alles auswählen

./bin/wish8.3: ELF 32-bit LSB executable...
OK, das ist eindeutig eine 32-Bit-Version.

Wie gesagt, man könnte jetzt die 32-Bit-Architektur nachinstallieren. Ob das das Problem löst, steht in den Sternen. Zwar würdest du damit die libX11 und andere Systembibliothek 32-bitig auf die Festplatte bekommen, ob sich dadurch aber nicht andere Inkompatibilitäten mit deiner 20 Jahre alten Software ergeben, steht in den Sternen. Linux ist da nicht endlos abwärtskompatibel.

Was du aber probieren kannst, ist, TCL/TK in der 64-Bit-Version zu installieren. wish.8.3 ist meines Wissens letztlich nur ein Interpereter, der tcl-Skripte ausführt. Das Skript, das wish8.3 aufruft (also DWB) müßtest du dann aber anpassen.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 02.01.2025 13:39:51

Ok, ich glaube ich setze mich morgen nochmal in Ruhe ran. Vielen Dank für die Hilfe. Ich hatte den Eindruck dass ich (nach der Installation) ganz nah an der Lösung dran war, sonst hätte ich wahrscheinlich nicht so schnell neue Fragen gestellt...

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 02.01.2025 13:54:31

Wie heißt denn dieses Verzeichnis auf CD2, welches vermutlich nur die Daten der Anwendung beinhaltet und durch das Skript DWB angesprochen wird? Heißt das Verzeichnis nicht "Data", dann hat der nochmalige Skriptaufruf zumindest nicht geschadet, ansonsten musst du das Verzeichnis /media/sanshiro/DWB leeren und nochmal von Anfang beginnen mit der Installation von CD1. Jedenfalls solltest du den Inhalt des Skripts /media/sanshiro/DWB/DWB mal zeigen - das muss auch angepasst werden. Vielleicht genügt dort auch einfach schon ein Austausch von wish8.3/32-Bit nach wish8.6/64-Bit und ähnliches Vorgehen!? Ansonsten, was die 32/64-Bit Tcl/Tk-Problematik betrifft, davon habe ich keine große Ahnung.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 03.01.2025 16:43:52

tobo hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 12:36:12
Gibt es auf CD2 vielleicht ein anderes Installationsskript?
Ich hatte gestern nachgeschaut auf CD2, und ich könnte schwören, dass sich gestern kein "Linux"-Ordner neben den "Data"-Ordner befand. Jedenfalls muß ich es heute berichtigen: es gibt sehr wohl ein weiteres Installationsskript auf CD2 (und zwar im "Linux"-Ordner dort)!

Code: Alles auswählen

cp -Rv $1/Data .
echo "Installation CD2 beendet."
echo "Melden Sie das CD-Laufwerk ab und starten Sie das Programm mit ./DWB (CD-LAUFWERK)"
Vielleicht macht es das ganze auch wieder durchschaubar - vielleicht sollte ich am besten die Installation nochmal machen und nach CD1 dann genauer hinschauen, was nun der richtige Befehl wäre (mit Hilfe des Debianforums, hoffentlich!) einfach das Skript von CD2 ausführen?!

Code: Alles auswählen

sh "/media/sanshiro/DWB CD2/Linux/installCD2.sh"
Könnte das so stimmen @tobo?

Der Vollständigkeit halber: Ich hatte gestern beim ersten Durchlauf den Befehl für CD1

Code: Alles auswählen

sh install1.sh "/media/sanshiro/DWB CD1"
nach dem Einlegen von CD2 abgeändert in

Code: Alles auswählen

sh install1.sh "/media/sanshiro/DWB CD2"
"install1.sh" war das von @tobo neu gestaltete Installationsskript, welches ich (nach seinen Anweisungen) vom Installationsverzeichnis aus ausgeführt hatte.

Edit: da ich inzwischen durch die ganzen an diesem Post vorgenommenen Korrekturen selber eine mögliche Lösung erarbeiten konnte, werde ich sie vielleicht erstmal ausprobieren und Rückmeldung geben. :P

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 03.01.2025 17:34:52

sanshiro hat geschrieben: ↑ zum Beitrag ↑
03.01.2025 16:43:52
tobo hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 12:36:12
Gibt es auf CD2 vielleicht ein anderes Installationsskript?
Ich hatte gestern nachgeschaut auf CD2, und ich könnte schwören, dass sich gestern kein "Linux"-Ordner neben den "Data"-Ordner befand. Jedenfalls muß ich es heute berichtigen: es gibt sehr wohl ein weiteres Installationsskript auf CD2 (und zwar im "Linux"-Ordner dort)!

Code: Alles auswählen

cp -Rv $1/Data .
echo "Installation CD2 beendet."
echo "Melden Sie das CD-Laufwerk ab und starten Sie das Programm mit ./DWB (CD-LAUFWERK)"
Ohne das mkdir aus install1.sh könnte man das wohl glatt so lassen. So aber muss auch das Skript umgeschrieben werden, weil du wieder an $1 und dem Leerzeichen darin scheitern wirst. Also als /home/sanshiro/DWB/install2.sh dann für CD2 folgendes Skript anlegen:

Code: Alles auswählen

cp -Rv "$1"/Data .
echo "Installation CD2 beendet."
echo "Melden Sie das CD-Laufwerk ab und starten Sie das Programm mit ./DWB (CD-LAUFWERK)"
Der Aufruf (in /home/sanshiro/DWB stehend mit gemounteter CD2) dazu:

Code: Alles auswählen

sh install2.sh "/media/sanshiro/DWB CD2"
Aber zuvor natürlich das install1.sh-Skript sichern, das Verzeichnis leeren, beide Skripte install{1,2}.sh ins Verzeichnis reinkopieren und dann mit install1.sh und CD1 anfangen. Danach dann install2.sh und CD2. Und wenn das funktioiniert, dann kann man sich um /home/sanshiro/DWB/DWB und die 32/64-Bit Problematik kümmern...

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 03.01.2025 18:27:25

tobo hat geschrieben: ↑ zum Beitrag ↑
02.01.2025 13:54:31
Jedenfalls solltest du den Inhalt des Skripts /media/sanshiro/DWB/DWB mal zeigen - das muss auch angepasst werden. Vielleicht genügt dort auch einfach schon ein Austausch von wish8.3/32-Bit nach wish8.6/64-Bit und ähnliches Vorgehen!? Ansonsten, was die 32/64-Bit Tcl/Tk-Problematik betrifft, davon habe ich keine große Ahnung.
Das Shell-Skript habe ich weiter oben schon gepostet (gestern). Nur damit man mir nicht vorwirft, ich hielte relevante Informationen zurück.

Ich habe eben die Installation ohne Fehlermeldungen abgeschlossen (install2.sh habe ich auch angepasst - ich war sogar selber drauf gekommen, dass ich es zu "$" umschreiben muß.

Der Austausch von wish8.3/32-Bit nach wish8.6/64-Bit klingt vielversprechend. Nur habe ich keine Ahnung wie das gehen soll, denn es dürfte sich wohl kaum um eine klassische apt-get installation handeln, oder?

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Altes Installationsskript richtig ausführen?

Beitrag von MSfree » 03.01.2025 18:42:13

sanshiro hat geschrieben: ↑ zum Beitrag ↑
03.01.2025 18:27:25
...es dürfte sich wohl kaum um eine klassische apt-get installation handeln, oder?
Doch, genau darauf wollte ich gestern hinaus. Mit

Code: Alles auswählen

apt-get install tk8.6
holst du dir ein aktuelles TCL/TK auf den Rechner. Ich habe hier die Hoffnung, daß das aktuelle tk8.6 abwärtskompatibel zu tk8.3 ist, was ja auf deiner CD ist.

Das Startscript brauchst du dann nur folgendermnassen anzupassen:

Code: Alles auswählen

#TCL_LIBRARY=./lib/tcl8.3
#export TCL_LIBRARY
#TK_LIBRARY=./lib/tk8.3
#export TK_LIBRARY
#TIX_LIBRARY=./lib/tix8.1
#export TIX_LIBRARY
#BLT_LIBRARY=/home/burch/MhdWB/lib/blt2.4
#export BLT_LIBRARY
#LD_LIBRARY_PATH=./lib
#export LD_LIBRARY_PATH

xset fp+ ./Fonts
#./bin/wish8.3 Src/Main.tcl $1
wish8.6 Src/Main.tcl $1

xset fp- ./Fonts

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 03.01.2025 18:53:47

Da muss noch ein bisschen mehr gemacht werden. Zunächst mal würde ich empfehlen folgende Pakete zu installieren:

Code: Alles auswählen

apt-get install tcl tk tix
Das installiert die benötigten 8.6er-Versionen. Dann muss /media/sanshiro/DWB/DWB zusätzlich angepasst werden zu:

Code: Alles auswählen

#TCL_LIBRARY=./lib/tcl8.3
#export TCL_LIBRARY
#TK_LIBRARY=./lib/tk8.3
#export TK_LIBRARY
#TIX_LIBRARY=./lib/tix8.1
#export TIX_LIBRARY
#BLT_LIBRARY=/home/burch/MhdWB/lib/blt2.4
#export BLT_LIBRARY
#LD_LIBRARY_PATH=./lib
#export LD_LIBRARY_PATH

xset fp+ ./Fonts
#./bin/wish8.3 Src/Main.tcl $1
wish8.6 Src/Main.tcl "$1"

xset fp- ./Fonts
Also zusätzlich muss wieder "$1" gequotet werden. Dann die Daten-CD CD2 einlegen/mounten und Programm starten mit:

Code: Alles auswählen

./DWB "/media/sanshiro/DWB CD2"
Und dann muss man mal schauen was passiert - möglicherweise muss man noch Symlinks in DWB als Bibliotheksreferenzen einfügen!?

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 03.01.2025 19:59:43

Vielen Dank für die zwei hilfreichen Antworten!
Das tk8.6 (et cetera) habe ich eben installieren können, für den Rest melde ich mich morgen zurück sobald ich es umgesetzt habe.

sanshiro
Beiträge: 26
Registriert: 30.12.2024 10:49:18

Re: Altes Installationsskript richtig ausführen?

Beitrag von sanshiro » 04.01.2025 06:42:45

Ich muß darauf hinweisen, dass sich das Shell-Skript auf /home/sanshiro/DWB/DWB befindet und nicht auf CD2. Es war mir gestern zwar aufgefallen, aber es gab wohl noch zu viel anderes auszusortieren.
(Ich habe aber trotzdem den von @tobo vorgeschlagenen Befehl ./DWB "/media/sanshiro/DWB CD2" versucht, so ist es nicht!)

Nach der erfolgreichen Installation gestern, bekam ich beim Ausführen des Shell-Skripts (unter /home/sanshiro/DWB/DWB) wieder folgenden Output:

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
./bin/wish8.3: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
xset:  warning, no entries deleted from font path.
Mit der hier vorgeschlagenen Änderung des Shell-Skripts bekomme ich folgenden Output:

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
Error in startup script: couldn't load file "./lib/libtix8.1.8.3.so": ./lib/libtix8.1.8.3.so: wrong ELF class: ELFCLASS32
    while executing
"load "./lib/libtix8.1.8.3.so""
    invoked from within
"if {[string tolower $tcl_platform(platform)] == "unix"} {
   load "./lib/libtix8.1.8.3.so"
   load "./lib/libBLT24.so"
   load "./lib/Mk4tcl.so"
   lo..."
    (file "Src/Main.tcl" line 59)
xset:  warning, no entries deleted from font path.
Mir scheint, die Abwärtskompatibilität zu tk8.3 bzw. 32-Bit ist nicht gegeben (siehe ELFCLASS32-Meldung) aber ich tappe hier selber natürlich im Dunkeln.
Mir ist bereits vorgestern aufgefallen, dass diese Fehlermeldungen

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
...vielleicht mit den lokalen Verzeichnissen zu tun haben. Denn es gibt ein "Fonts"-Verzeichnis (direkt unter dem DWB Installationsverzeichnis).
[Ich konnte jetzt auf die Schnelle keinen Bildschirm-Schnappschuss einfügen (vom Inhalt des Installationsverzeichnisses). Kann ich aber noch nachholen falls das wichtig wäre.]

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Altes Installationsskript richtig ausführen?

Beitrag von tobo » 04.01.2025 07:10:00

sanshiro hat geschrieben: ↑ zum Beitrag ↑
04.01.2025 06:42:45
Ich muß darauf hinweisen, dass sich das Shell-Skript auf /home/sanshiro/DWB/DWB befindet und nicht auf CD2. Es war mir gestern zwar aufgefallen, aber es gab wohl noch zu viel anderes auszusortieren.
(Ich habe aber trotzdem den von @tobo vorgeschlagenen Befehl ./DWB "/media/sanshiro/DWB CD2" versucht, so ist es nicht!)
Dass das Skript /home/sanshiro/DWB/DWB nicht auf der CD2 liegt, ist völlig klar. Deswegen rufst du ja auch ./DWB in /home/sanshiro/DWB stehend auf. Wo wurde was anderes geschrieben? Das "/media/sanshiro/DWB CD2"-Argument ist das im Skript angesprochene "$1"- es macht also Sinn, das nicht trotzdem, sondern ausschließlich so zu versuchen!?
Nach der erfolgreichen Installation gestern, bekam ich beim Ausführen des Shell-Skripts (unter /home/sanshiro/DWB/DWB) wieder folgenden Output:

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
./bin/wish8.3: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
xset:  warning, no entries deleted from font path.
Das ist die Ausgabe beim Aufruf mit Angabe der Daten-CD2, also `./DWB "/media/sanshiro/DWB CD2"', in /home/sanshiro/DWB stehend, mit gemounteter CD2 und mit den gemachten Änderungen an /home/sanshiro/DWB/DWB?
Mit der hier vorgeschlagenen Änderung des Shell-Skripts bekomme ich folgenden Output:

Code: Alles auswählen

xset:  bad font path element (#5), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
Error in startup script: couldn't load file "./lib/libtix8.1.8.3.so": ./lib/libtix8.1.8.3.so: wrong ELF class: ELFCLASS32
    while executing
"load "./lib/libtix8.1.8.3.so""
    invoked from within
"if {[string tolower $tcl_platform(platform)] == "unix"} {
   load "./lib/libtix8.1.8.3.so"
   load "./lib/libBLT24.so"
   load "./lib/Mk4tcl.so"
   lo..."
    (file "Src/Main.tcl" line 59)
xset:  warning, no entries deleted from font path.
Das ist die Ausgabe beim Aufruf mit Angabe der Daten-CD2, also `./DWB "/media/sanshiro/DWB CD2"', in /home/sanshiro/DWB stehend, mit gemounteter CD2 und mit den gemachten Änderungen an /home/sanshiro/DWB/DWB?

EDIT:
Es war abzusehen, dass die in DWB auskommentierten Variablen zuschlagen. Zeige deshalb den Inhalt von /home/sanshiro/DWB/Src/Main.tcl und die Ausgabe von:

Code: Alles auswählen

grep -r "TCL_LIBRARY\|TK_LIBRARY\|TIX_LIBRARY" /home/sanshiro/DWB
und von:

Code: Alles auswählen

ls -l /home/sanshiro/DWB/lib/tcl8.3
PS: Das ist ja toll, wie der Text hier so umgebrochen wird!

Antworten