Newsgroups: comp.windows.x.i386unix,comp.os.linux.announce
From: orestz@eskimo.com (Orest Zborowski)
Subject: Linux XFree86 3.1 shared libraries
Message-ID: < ann-9318.783021973@cs.cornell.edu>
Date: Mon, 24 Oct 1994 18:06:34 GMT
Approved: linux-announce@tc.cornell.edu (Matt Welsh)

I've read all the comments about the Linux shared libraries in XFree86 3.1
and want to respond. The reason this has taken so long is that I wanted to
do some experimentation and gather some facts.

After some discussion between the developers, it was decided to honor the
XC library numbering scheme and update all shared libs on all platforms to
6.0. It was felt that X11R6 was a significant upgrade from X11R5 and
should be a fresh start. The XC had done a good job of maintaining
upwards-compatible data structures, but there were many changes and
it wasn't clear if strict compatibility was maintained. It's true that
compatible libs could be made (and they were early on in the cycle)
but verifying them against all X11R5 clients wasn't feasible. I understood
that this decision would be unpopular with Motif users and others with
major investment in X11R5 development tools, but those tools are tuned
to X11R5 and could not take advantage of X11R6 enhancements.

For most users, this is not a problem. By simply keeping the X11R5 shared
libraries, all X11R5 clients should work with the X11R6 servers. It is
also possible to keep the X11R5 programming environment for Motif development.
The only difficulty is when someone wants to mix X11R5 and X11R6 features.

I've built a set of shared libraries that are compatible with XFree86 2.X,
using 3.3 as the version number. I've tested most of the XFree86 2.X clients
against these libs and have noticed no major problems, but these are not
exhaustive tests. The bulk of the problems were with colors. The libraries
were also tested against the complement of Motif examples with mixed
results. About 40% of these programs had serious problems, including
segmentation faults. A friend briefly tested the libraries with a Motif
development environment and reported no major problems using them to
compile his applications.

In conclusion, I feel that absolute compatibility between X11R5 and X11R6
doesn't exist. It is safer to maintain a separation between these two
major versions, despite the awkwardness of maintaining separate sets of
development environments. The XC indirectly supports this conclusion
by using an incompatible major number in their default configuration.
Only a single OS (SunOS) uses a compatible numbering scheme but the
information on the net about these libraries shows that they are not
absolutely backwards compatible.

For those that wish to mix X11R5 and X11R6 features, I have made available
the compatible shared libraries on the standard XFree86 ftp sites. These
libraries are available as the XF86-3.1-cmptlib.tar.gz package. I want
to stress that these libraries are unsupported, and the original shared
libraries should be used instead. In future XFree86 Linux distributions
these libraries may not be updated.

-orest

--
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
Be sure to include Keywords: and a short description of your software.