SuSE Support-Datenbank

Titel: Motif 1.2.4 und Linux 1.1.62 unter XFree86-3.1

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

Motif 1.2.4 und Linux 1.1.62 unter XFree86-3.1

Bezieht sich auf

Kernel: Version 1.1.62
XFree86: Version 3.1
Motif: Version 1.2.4

Folgendes HOWTO ist im Laufe eines Motif-Support Falles "entstanden".
Wir möchten uns bei Arno Unkrig bei der PLASMOS GmbH für seine
Zusammenarbeit bedanken.

Wie überetzt man erfolgreich ein OSF/Motif-Programm unter Linux 1.1.62,
XFree86-3.1 und Metrolink-Motif 1.2.4?
1.) Die Bibliotheken unter /usr/X11R6/lib (die per Default gelinkt werden)
sind ungeeignet. Das ist auch nicht arg verwunderlich, da ja Motif 1.2
auf X11R5 `zugeschnitten' ist. Zwar ist X11R6 abwärtskompatibel, aber
die Erfahrung hat schon früher gezeigt, daß der Teufel hier im Detail
steckt und Konstruktionen wie `Motif 1.2 + X11R6' (erstmal) nicht
funktionieren.

2.) Linkt man mit -L/usr/X11R5/lib, so läuft das Programm zunaechst, es ist
aber folgender Bug bekanntgeworden: Unmanagt man einen XmBulletinBoard-
Dialog (oder Subclass), an dem mehr als ein Popup-Child hängen (egal ob
popped-up oder popped-down), so stürzt das Programm mit der Meldung
Error: Object "(null)" does not have windowed ancestor ab (manchmal auch
mit Core-Dump).

3.) Laut Support von S.u.S.E verspricht Metrolink die Funktionsfähigkeit
seines Motif nur mit XFree86-2.1.1. Tatsächlich sind die X11R5-Libraries
von XFree86-2.1.1 und XFree86-3.1 unterschiedlich!

4.) Die XFree86-2.1.1-Libraries sind auf der 11/94-CD in /cdrom/
slackware-2.1.0/contrib/XFree86-2.1.1/x3/xf_lib.tgz
verfügbar. Zu
beachten ist allerdings, daß dieses Paket nicht wie gewohnt mit pkgtool
installiert werden darf, da sonst die bereits vorhandenen X11R6-
Libraries von XFree86-3.1 überschrieben werden. Am besten, man installiert
die XFree86-2.1.1-Bibliotheken in ein separates Verzeichnis (nennen wir
es (DIR). Das Programm lsst sich nun mit
gcc -static ... -lXm -L(DIR) -lXt -lX11 -o ...
binden.

5.) Etwas problematisch wird es, wenn die Anwendung dynamisch gebunden werden
soll, denn die Dateinamen für die `neuen' X11R5-Sharable-Objects sind
identisch mit denen für die alten (nämlich `lib{X11 Xt}.so.3'). Da
viele X-Programme (DNDDemo cutpaste dogs fileview helloint hellomotif
motifanim motifbur motifgif motifshell mwm periodic pict pixmap textedit
uil uilsymdump xbmbrowser xfishtank xgrab xgrabsc xmapdef xmbind xmdialogs
xmeditor xmfonts xmforc xmform xmgetres xmlist xmmap xmmore xmpiano
xmprotocol xmter xmtravel ...) die `neuen' X11R5-Libraries sehen wollen
, kann man diese nicht einfach durch die alten ersetzen. Andererseits
funktioniert die eigene Motif-Anwendung aber nur mit den alten Libraries
zuverlässig.

Einzig denkbare Lösung wäre, unmittelbar vor dem Start des Programms
den `LD_LIBRARY_PATH' auf die alten Libs zu verbiegen und anschliessend
wieder zu `unset'ten. Das ist natürlich alles andere als elegent.
Sicherheitshalber kann das Programm in seiner `main ()'-Funktion ja als
erstes prüfen, dass `LD_LIBRARY_PATH' gesetzt ist und tatschlich die
alte Bibliothek geladen wurden.

6.) Ob statisch oder dynamisch gelinkt, es triff noch ein weiteres Problem
mit den alten X11R5-Libraries auf: Sind die Dateien
`/usr/X386/lib/X11/nls/{nls.dir nls.alias ...}'
nicht vorhanden und lesbar, so stürzt das Programm mit einer Segment
Violation ab. Laut Motif-FAQ ist dies ein Bug in `libX11'. Diese Dateien
finden sich ebenfalls in `/cdrom/slackware-2.1.0/contrib/XFree86-2.1.1/
x3/xf_lib.tgz' und müssen entsprechend installiert werden. Am besten,
das Programm prüft wiederum, ob diese Dateien vorhanden sind (alternativ
gilt auch $XNLSPATH) und bricht gegebenenfalls mit einer entsprechenden
Meldung ab.

---

Stichwörter: MOTIF, XFREE, X11, HOWTO

---

Kategorien: Dokumentation , X-Applikationen

---

Feedback willkommen: Send Mail to mb@suse.de (Geben Sie bitte folgendes Stichwort an: SDB-mb_12)

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel
English
---

SDB-mb_12, Copyright SuSE GmbH, Nuremberg, Germany
Impressum - Zuletzt generiert: 24. Feb 1999 12:40:14 by maddin with sdb_gen 1.00.0