Re: Binary Compatibility question



On Sun, 2003-12-07 at 09:50, Sean Middleditch wrote:
> On Sun, 2003-12-07 at 11:09, Edwin wrote:
> > Hi,
> > 
> > Fairly recently I updated my app to run under Gnome 2.x. I distributed a
> > source .tar.gz and a binary i386 RPM (generated under RedHat 8.0 & Gnome
> > 2.0). Then I found that the RPM doesn't install on Mandrake 9.2 (which
> > uses Gnome 2.4), even though I'd installed all the Gnome components. The
> > problem was that I had a dependency on liblinc.so.1 (via Orbit). I
> > understand that's no longer required by Gnome 2.4, so the Mandrake box
> > understandably didn't have it. When I recompiled on the Mandrake box,
> > everything worked fine.
> 
> Your application shouldn't depend on linc - that's a private library not
> intended for use by non-core applications.  That would be causing the
> incompatibility.

I don't call linc directly, and I'm pretty sure I only use public APIs.
Autoconf picks up the set of libraries to link against via pkg-config.

My configure.in just has

pkg_modules="libgnomeui-2.0"
PKG_CHECK_MODULES(GNOFRACT4D, [$pkg_modules])
AC_SUBST(GNOFRACT4D_CFLAGS)
AC_SUBST(GNOFRACT4D_LIBS)

When I build on RedHat, GNOFRACT4D_LIBS expands to
-lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2
-lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lbonobo-2
-lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 /usr/lib/libxml2.so
-lz -lm /usr/lib/liblinc.so -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0
-lglib-2.0 -ldl -lpthread

If there's some way I can ditch all this and have the GUI still work
that'd be great, but my understanding is GnomeUI requires Bonobo
requires Orbit requires linc, and I'm stuck with it. Is that not true?

Regards,
--
Edwin





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]