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

Bug#600670: #600670 - libhpmud0 installs /usr/lib/libhpmud.so.0 /usr/lib/libhpmud.so.0.0.6 but sane needs /usr/lib/libhpmud.so that is in libhpmud-dev, not needed to scan



Hi,

> I'm using saned with an hpaio based scanner, saned needs libhpmud dyn lib
> but it searches for .so
> 
> Oct 19 01:13:27 wrap saned[718]: scan/sane/marvell.c 66: unable to load restricted library: libhpmud.so: cannot open shared object file: No such file or direc
> 
> while the package installs .so.0 and .so.0.0.6, libhpmud-dev is not needed to scan
> I known .so are provided by -dev packages, but libhpmud-dev is not actually used at all

The attached patch makes sane look for libhpmud.so.0 after libhpmud.so
was not found.

I've uploaded i386 .debs from my sid-cowbuilder at
http://people.debian.org/~evgeni/tmp/hplip/
I think installing libsane-hpaio_3.10.6-1.1_i386.deb should be enough,
but I have no real idea as I have no HP scanners around.
Could you test it please?

Regards
Evgeni
diff -u hplip-3.10.6/debian/changelog hplip-3.10.6/debian/changelog
--- hplip-3.10.6/debian/changelog
+++ hplip-3.10.6/debian/changelog
@@ -1,3 +1,11 @@
+hplip (3.10.6-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Try libhpmud.so.0 when libhpmud.so is not found.
+    Closes: #600670
+
+ -- Evgeni Golov <evgeni@debian.org>  Wed, 20 Oct 2010 17:57:23 +0200
+
 hplip (3.10.6-1) unstable; urgency=low
 
   * New Upstream Release
diff -u hplip-3.10.6/debian/patches/00list hplip-3.10.6/debian/patches/00list
--- hplip-3.10.6/debian/patches/00list
+++ hplip-3.10.6/debian/patches/00list
@@ -20,0 +21 @@
+try_libhpmud.so.0.dpatch
only in patch2:
unchanged:
--- hplip-3.10.6.orig/debian/patches/try_libhpmud.so.0.dpatch
+++ hplip-3.10.6/debian/patches/try_libhpmud.so.0.dpatch
@@ -0,0 +1,65 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## try_libhpmud.so.0.dpatch by  <evgeni@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Try libhpmud.so.0 after libhpmud.so
+
+@DPATCH@
+
+diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
+index c36caa7..465342e 100644
+--- a/scan/sane/marvell.c
++++ b/scan/sane/marvell.c
+@@ -63,8 +63,11 @@ static int bb_load(struct marvell_session *ps, const char *so)
+    /* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */ 
+    if ((ps->hpmud_handle = dlopen("libhpmud.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
+    {
+-      BUG("unable to load restricted library: %s\n", dlerror());
+-      goto bugout;
++      if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
++      {
++         BUG("unable to load restricted library: %s\n", dlerror());
++         goto bugout;
++      }
+    } 
+ 
+    /* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */ 
+diff --git a/scan/sane/soap.c b/scan/sane/soap.c
+index 28b83cc..698f58c 100644
+--- a/scan/sane/soap.c
++++ b/scan/sane/soap.c
+@@ -71,8 +71,11 @@ static int bb_load(struct soap_session *ps, const char *so)
+    /* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */ 
+    if ((ps->hpmud_handle = dlopen("libhpmud.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
+    {
+-      BUG("unable to load restricted library: %s\n", dlerror());
+-      goto bugout;
++      if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
++      {
++         BUG("unable to load restricted library: %s\n", dlerror());
++         goto bugout;
++      }
+    } 
+ 
+    /* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */ 
+diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
+index 5535245..e6039c1 100644
+--- a/scan/sane/soapht.c
++++ b/scan/sane/soapht.c
+@@ -62,10 +62,13 @@ static int bb_load(struct soap_session *ps, const char *so)
+    int stat=1;
+ 
+    /* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */ 
+-   if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
++   if ((ps->hpmud_handle = dlopen("libhpmud.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
+    {
+-      BUG("unable to load restricted library: %s\n", dlerror());
+-      goto bugout;
++      if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
++      {
++         BUG("unable to load restricted library: %s\n", dlerror());
++         goto bugout;
++      }
+    } 
+ 
+    /* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */ 

Reply to: