[Gllug] gtk+ or Qt? (or others?)

Dave Jones davej at suse.de
Sat May 11 19:46:02 UTC 2002


On Sat, May 11, 2002 at 07:33:13PM +0100, Nix wrote:
 > There's no way gtk2 will work for 1.2 apps; there are *major* interface
 > differences (even the basic object type has changed).

Ok, thanks for the heads up.

 > > (Don't even get me started on libxml and backwards compatability)
 > libxml is not the problem. libgal, *that*'s the problem. And
 > libgnomeprint.

Yes, libgal has an interesting concept of compatability.
Gnome folks argument seem to be 'its not a public interface', which
is still no excuse imo.  Libxml plays different games. They're
compatable between certain revisions, but detecting if a compatable
revision is installed is hell (more of a pita if libxml1 and libxml2
are both installed, which is quite commonplace).

Snippet of autoconf as example.. (barfbag at ready)

# Possible valid scenarios:
# libxml1 1.8.8
# libxml1 1.8.8 and libxml1 2.0.0  (use 1.8.8)
# libxml1 1.8.8 and libxml1 2.1.0+ (use 2.1)
# libxml1 1.8.8 and libxml2 2.3.0+ (use xml2-config to use 2.3)
# libxml1 2.1.0+ 
# libxml2 2.3.0+ (use xml2-config)
# anything else is not valid.

AC_PATH_GENERIC(xml2, 2.3.0, [
    XML_LIBS=$XML2_LIBS
    XML_CFLAGS=$XML2_CFLAGS
    AC_SUBST(XML_LIBS)
    AC_SUBST(XML_CFLAGS)
    valid_xml="yes"])

if test x$valid_xml != xyes; then
    AC_PATH_GENERIC(xml, 2.1.0, [
        AC_SUBST(XML_LIBS)
        AC_SUBST(XML_CFLAGS)
        valid_xml="yes"])
fi

if test x$valid_xml != xyes; then
    AC_PATH_GENERIC(xml, 1.8.8, [
        AC_SUBST(XML_LIBS)
        AC_SUBST(XML_CFLAGS)
        valid_xml="yes"])
fi

if test x$valid_xml != xyes; then
    AC_MSG_ERROR(You need libxml version 1.8.8 or 2.1.0 and above)
fi

Items of note were that 2.0.0 -> 2.1.0 were completely screwed.
By 2.1.0, compatability problems had been resolved.
Something else happened circa libxml2 2.3.0 iirc, but I never got
around to fixing up that particular breakage.

It was an absolute nightmare dependancy to code for.
Time saved from writing a parser by hand was probably easily wasted
supporting users with fscked libxml installs.

If I was to do it again, I could of course say, "sod it, minimum
support version is libxml2 2.3.0", which is the easy way out.

    Dave.

-- 
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs

-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list