Hi,

On Thu, 1 Jan 2009 10:46:05 +0100 =?iso-8859-1?Q?Lo=EFc?= Minier 
<l...@dooz.org> wrote:
> On Wed, Dec 31, 2008, Andres Mejia wrote:
> > The libfam shlib entry in libgamin0 is wrongly set to libfam0. Since 
> > libgamin 
> > is provided as a replacement for libfam, the entry should be set to 
> > libgamin0. This is a problem for packages that build depend on libgamin-dev 
> > since their dependency on libfam gets set to libfam0 instead of libgamin0.
> > 
> > A fix for this would be to simply set the entry as "libfam 0 libgamin0". 
> > Better yet, just delete the libgamin0.shlibs file from the debian directory 
> > and let the shlibs file be automatically generated.
> 
>  I think you misunderstood the current shlibs; the point is to allow
>  building against the FAM API and ABI and depend on libfam0 (provided by
>  libgamin0) if programs are linked to libfam.  This means you can
>  build-dep on fam or on gamin if you use the FAM API and this will
>  result on a dep on the FAM ABI and allow users to install either FAM or
>  Gamin as an implementation of the FAM ABI.  You can also use the Gamin
>  API and link to libgamin which will result in a dep on the Gamin ABI.
> 
>  What problem are you trying to solve?

This is an actual problem, as libfam0 doesn't provide the FAMNoExists 
symbol, but programs building against libgamin-dev might detect the 
symbol as available and use it.

So libfam0 can't properly provide "libfam.so*" from libgamin0, and 
shouldn't be allowed to by libgamin0.shlibs.

(As the gamin homepage says "The functions FAMSuspendMonitor(), 
FAMResumeMonitor() and FAMMonitorCollection() are not implemented." I 
think libgamin0 shouldn't have ever provided libfam0 either - it's 
basically broken in both directions.)

I think fixing libgamin0.shlibs and dropping fam from the archives is 
the smoothest path to fixing this mess.

Also see:
- https://salsa.debian.org/debian/lighttpd/-/merge_requests/18
- https://bugs.launchpad.net/bugs/1453463 [lighttpd] "undefined symbol: 
FAMNoExists"
- https://bugs.debian.org/966273 "RFA: fam -- File Alteration Monitor"
  (also: FAM upstream has been dead for some time)
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=438330
  "Symbol `FamErrlist' has different size in shared object, consider re-linking"
  (this was just an annoying warning, not a real issue)
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=438552
  "libgamin0: is Conflicts: libfam0 still necessary/valid?"
  (2007: perhaps libfam0 wasn't "provided" at the time?)

cheers,
Stefan

Reply via email to