SuSE GmbH

SuSE Support Database

Title: Motif 1.2.4 and Linux 1.1.62 under XFree86-3.1

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

Motif 1.2.4 and Linux 1.1.62 under XFree86-3.1

Following HOWTO is "born" in the operations of a Motif support trap.
We would like to thank Arno Unkrig from PLASMOS GmbH for his
collaboration.

How is an OSF/Motif programme succesfully translated under Linux 1.1.62,
XFree86-3.1 and Metrolink Motif 1.2.4?
1.) The libraries in /usr/X11R6/lib (which are linked by default)
are unsuitable. This is not terribly surprising, since Motif 1.2
is `designed' for X1135. Certainly X11R6 is totally compatible, but the experience
has already showed, that the devil stacks here in detail
and constructions like `Motif 1.2 + X11R6' (first time) do not
work.

2.) One links to -L/usr/X11R5/lib, so the programme runs at first, but the
following bug has become known: one unmanages a XmBulletinBoard-
Dialog (or subclass), at which more than one popup-child hangs (same whether
popped-up or popped-down), so the programme crashes with the message
Error: Object "(null)" does not have windowed ancestor (sometimes
with core-dump too).

3.) According to S.u.S.E. support, Metrolink promises its Motif's function capability
only with XFree86-2.1.1. In fact, the X11R5 libraries
of XFree86-2.1.1 and XFree86-3.1 are different!

4.) The XFree86-2.1.1 libraries are available on the 11/94-CD in /cdrom/
slackware-2.1.0/contrib/XFree86-2.1.1/x3/xf_lib.tgz
.
However, it is to be noticed, that this packet cannot be installed as usual with pkgtool
, because otherwise, the already existent X11R6
libraries of XFree86-3.1 are overwritten. At best, one installs
the XFree86-2.1.1 libraries in a separate directory (name
it DIR). The programme can be linked now by
gcc -static ... -lXm -L(DIR) -lXt -lX11 -o ...
.

5.) It will be more problematic, when the application should be dynamically linked
, because the filenames for the `new' X11R5 sharable objects are
identical to these for the old ones (that is `lib{X11 Xt}.so.3'). Since
many X programmes (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 ...) want to see the `new' X11R5 libraries
, one cannot easily replace them by the old ones. On the other hand,
the own Motif application works, but reliably only with the old libraries.

The only possible solution would be, to bend the `LD_LIBRARY_PATH' on the old libs inmediately before the programme start
and afterwards
to unset again. This is of course everything but elegant.
For security the programme can first test in its `main ()' function
that `LD_LIBRARY_PATH' is set and actually the
old library was loaded.

6.) Whether statically or dynamically linked, it still appears another problem
with the old X11R5 libraries: The files
`/usr/X386/lib/X11/nls/{nls.dir nls.alias ...}'
are not available and readable, so the programme crashes with a segment
violation. According to Motif-FAQ this is a bug in `libX11'. These files
are located as well in `/cdrom/slackware-2.1.0/contrib/XFree86-2.1.1/
x3/xf_lib.tgz' and must be correspondingly installed. At best,
the programme checks again, whether these files are available (alternatively
$XNLSPATH is valid too) and aborts if necessary with a corresponding
message.

----------

Keywords: MOTIF, XFREE, X11, HOWTO

----------

Feedback welcome: Send Mail to mb@suse.de (Please give the following subject: SDB-mb_12)

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

SDB-mb_12, Copyright SuSE GmbH, Nuremberg, Germany
SuSE GmbH - Last generated: 07. Oct 1999 17:32:01 by maddin with sdb_gen 1.00.0