On Thu, 15 May 2003 08:24:02 +0200 Michael Herder <[email protected]> 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
