[sane-devel] sane-config issue: Someone using Mandrake 9.1 ?

Marcel Pol mpol@gmx.net
Thu, 15 May 2003 11:28:36 +0200


On Thu, 15 May 2003 08:24:02 +0200
Michael Herder <crapsite@gmx.net> wrote:

> Hi,
> AFAIK the configure script in sane-frontends (and also QuiteInsane and 
> probably XSane ?) relies on the output of "sane-config --libs" and adds it 
> output to LIBS.
> This seems to result in rather misleading error messages on MDK 9.1 in some 
> situations.
> Obviously MDK creates required symlinks only, if the devel packages are 
> installed too.
> Example: The "libusb*" package installs /usr/lib/libusb-0.1.so.4 and 
> /usr/lib/libusb-0.1.so.4.1.1, but the symlink /usr/lib/libusb.so is only 
> created if one installs the "libusb-devel*" package.
> However, one can install the "sane-devel*" package, without being forced to 
> install the required additional devel packages too.
> When the user now tries to configure e.g. sane-frontends, (s)he gets the 
> well known error message
> "ERROR: Couldn't find SANE libraries (sane-backends)." 
> while the real problem is, that the test program could not link with libusb,
> 
> libieee1284, libgphoto2 and so on...
> 
> Now to the questions:
> 1. Can someone confirm this dependency problem ?(Just want to be sure, that 
> it wasn't the users fault)

Sane on Mandrake is compiled with libusb, libieee1284 and gphoto support, so
it seems logical behaviour. I'm not a programmer, so I could be wrong though.

$ sane-config --libs
-lsane -lusb -lnsl -lm  -ljpeg -lieee1284  -lgphoto2 -lm -ldl

> 2. Should we simply consider this a problem with broken dependencies on 
> MDK9.1? Does it also happen on other distros?

Yes, devel packages on Mandrake have often broken dependencies, and it's
almost too easy to point a blaming finger at rpm itself :-)
For normal library packages the rpms are getting the dependencies
automatically from ldd. Installing the Sane library package (libsane1) will
also install the libusb, libgphoto and libieee1284 package. 
With devel packages this isn't done automatically, but needs to be set manual
in the specfile of the rpm, and often it gets forgotten, because it's really
hard to maintain these dependencies for hundreds of devel packages. The
feature of automatically generating dependencies for devel packages is a
missing feature of rpm itself, and it depends on the distro/maintainer to set
them manual. So it can differ from distro to distro.
For Mandrake 9.2, there's work being done to fullfill these dependencies as
well, and it seems to work out well. Devel packages will provide the .so
library files, and depend on the .so files from other devel packages. Together
with urpmi, which does dependency tracking, it should work out well. 
The guy who added this feature to Mandrake's rpm also posted to the rpm-devel
list, but didn't get a real response from there, perhaps they don't see this
as a problem.




--
Marcel Pol