[xorg-bugzilla-noise] [Bug 1382] libGLw is binary incompatible with latest openmotif (2.2)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Sep 14 18:23:33 PDT 2004


Please do not reply to this email: if you want to comment on the bug, go to          
the URL shown below and enter yourcomments there.   
 
https://freedesktop.org/bugzilla/show_bug.cgi?id=1382        
   

mharris at www.linux.org.uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mharris at www.linux.org.uk




------- Additional Comments From mharris at www.linux.org.uk  2004-09-14 18:23 -------

Easier to find reference (the URL field seems obscure <grin>):
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=132160

Me and Kristian discussed this in IRC today for some time, and here are some
thoughts about the issue.  Initially I misread the issue of being Motif
dragging around libGLw headers, but it's the other way around.  The problem
with dragging another library's headers around, is that you either have to
synchronize with that library over time, or you fall out of touch and changes
in the library may end up with incompatible interfaces in your local copy
that do not match the new library.  For this alone, I think it is very very
bad to drag around openmotif headers just for libGLw's personal usage.  I think
that they should be removed from X.Org completely, and if you enable the
compilation of libGLw, you _must_ have a motif implemenation installed in
order to link to.  This is the only sensible way to guarantee you're using
compatible motif headers.

That's just the first problem though.

The real problem here, is that Motif changed the interface by adding new
symbols without bumping the library version.  Since libGLw carries around
motif headers currently, it will be tied to a specific motif version and
assume no incompatible binary changes are made (which *should* be a safe
assumption, but can't be relied upon really).  So the way I currently see
this, is that updating the libGLw copies of motif headers and rebuilding
libGLw with them, will just produce a new libGLw with the same .so version,
linked to a newer version of Motif which is binary incompatible.  Apps linked
to the older libGLw and older OpenMotif will break if we update the libGLw
to use new motif headers.  Keeping the old headers means that current
apps work, but building apps against current Motif 2.2 or later will fail
due to the MOtif changes.

It appears to be a very ugly problem IMHO.  It isn't clear what is the best
solution which retains both source and binary compat of libGLw, openmotif, and
apps that use either.

http://cvs.motifzone.net/cgi-bin/cvsweb.cgi/openmotif/lib/Xm/PrimitiveP.h?cvsroot=openmotif
        
   
   
--         
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email       
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list