kopia lustrzana https://gitlab.com/sane-project/website
116 wiersze
5.1 KiB
HTML
116 wiersze
5.1 KiB
HTML
<!-- received="Sat Nov 20 01:34:35 1999 PST" -->
|
||
<!-- sent="Sat, 20 Nov 1999 10:34:03 +0100" -->
|
||
<!-- name="Oliver Rauch" -->
|
||
<!-- email="oliver.rauch@Wolfsburg.DE" -->
|
||
<!-- subject="Please test sane cvs - soname of backend libs" -->
|
||
<!-- id="" -->
|
||
<!-- inreplyto="" -->
|
||
<title>sane-devel: Please test sane cvs - soname of backend libs</title>
|
||
<h1>Please test sane cvs - soname of backend libs</h1>
|
||
<b>Oliver Rauch</b> (<a href="mailto:oliver.rauch@Wolfsburg.DE"><i>oliver.rauch@Wolfsburg.DE</i></a>)<br>
|
||
<i>Sat, 20 Nov 1999 10:34:03 +0100</i>
|
||
<p>
|
||
<ul>
|
||
<li> <b>Messages sorted by:</b> <a href="date.html#189">[ date ]</a><a href="index.html#189">[ thread ]</a><a href="subject.html#189">[ subject ]</a><a href="author.html#189">[ author ]</a>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0190.html">Bernd Schroeder: "Re: Microtek Scanmaker changes colors"</a>
|
||
<li> <b>Previous message:</b> <a href="0188.html">Kevin Dalley: "Numbering schemes for snapshots"</a>
|
||
<!-- nextthread="start" -->
|
||
<li> <b>Next in thread:</b> <a href="0193.html">Petter Reinholdtsen: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<li> <b>Reply:</b> <a href="0193.html">Petter Reinholdtsen: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<li> <b>Reply:</b> <a href="0203.html">Oliver Rauch: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<!-- reply="end" -->
|
||
</ul>
|
||
<!-- body="start" -->
|
||
Hi,<br>
|
||
<p>
|
||
<p>
|
||
<p>
|
||
I made a change to the ltmain.sh in the sane cvs DEVEL_1_9:<br>
|
||
<p>
|
||
I want to explain the background first:<br>
|
||
The backend libs of sane are placed in an own subdir "sane" in a "libs" directory.<br>
|
||
In the upper "libs" directory there is a link "libsane.so.*" -> "./sane/libsane-dll.so.*".<br>
|
||
(on some systems it is not "so", the correct name is given by libtool).<br>
|
||
<p>
|
||
This is the standard installation. This way the dynamic library loader is<br>
|
||
loaded when a frontend opens libsane.so . SANE is designed that<br>
|
||
a frontend can open any sane backend as libsane.so.*, only the link in the<br>
|
||
"libs" directory has to be changed.<br>
|
||
But that does not work with exisiting sane versions.<br>
|
||
<p>
|
||
The problem is that the internal names of the shared libraries (sonames)<br>
|
||
are equal to the backend library name, but the name of the sane libraryies<br>
|
||
have to be "libsane.so.*" (or e.g. "libsane.sl.*) instead of "libsane-umax.so.*"<br>
|
||
<p>
|
||
A frontend that links with "-lsane" agains the link "..../libs/libsane.so.*"<br>
|
||
does not store the filename "libsane.so.*" to open the library when executed,<br>
|
||
it stores the internal name of the shared library (soname) and in the standard<br>
|
||
case that is "libsane-dll.so.*".<br>
|
||
<p>
|
||
So if you link a frontend with "-lsane" you are not able to repleace<br>
|
||
libsane-dll.so by an other sane backend because the frontend only<br>
|
||
wants to open "libsane-dll.so.*".<br>
|
||
The second problem is that the real libs are placed in a subdirectory<br>
|
||
of a libs directory where the shared library loader normally does not<br>
|
||
search.<br>
|
||
This is the reason that e.g. xsane does not start when you did not<br>
|
||
add the path of the sane libs to (on linux) /etc/ld.so.conf<br>
|
||
<p>
|
||
So I added the following line to ltmain.sh:<br>
|
||
<p>
|
||
soname=`echo $soname | sed -e "s/libsane-[A-Za-z0-9]*/libsane/g"`<br>
|
||
<p>
|
||
it removes the backend extension form the soname:<br>
|
||
libsane-Test7237.so.* -> libsane.so.*<br>
|
||
<p>
|
||
I tested it with linux (SuSE 6.2) and it works fine.<br>
|
||
<p>
|
||
I want to know if this solves the described problems on all systems.<br>
|
||
<p>
|
||
A simple test is:<br>
|
||
<p>
|
||
$ldd /path_to/xsane<br>
|
||
...<br>
|
||
libsane.so.1 => /usr/local/lib/libsane.so.1 (0x40287000)<br>
|
||
...<br>
|
||
(that is correct)<br>
|
||
<p>
|
||
$ldd /path_to/xsane<br>
|
||
...<br>
|
||
libsane-dll.so.1 => /usr/local/lib/sane/libsane-dll.so.1<br>
|
||
...<br>
|
||
(that is the current, wrong situation)<br>
|
||
<p>
|
||
Bye<br>
|
||
Oliver<br>
|
||
<p>
|
||
<p>
|
||
<pre>
|
||
--
|
||
Homepage: <a href="http://www.wolfsburg.de/~rauch">http://www.wolfsburg.de/~rauch</a>
|
||
sane-umax: <a href="http://www.wolfsburg.de/~rauch/sane/sane-umax.html">http://www.wolfsburg.de/~rauch/sane/sane-umax.html</a>
|
||
xsane: <a href="http://www.wolfsburg.de/~rauch/sane/sane-xsane.html">http://www.wolfsburg.de/~rauch/sane/sane-xsane.html</a>
|
||
E-Mail: <a href="mailto:Oliver.Rauch@Wolfsburg.DE">mailto:Oliver.Rauch@Wolfsburg.DE</a>
|
||
<p>
|
||
<p>
|
||
<p>
|
||
<p>
|
||
<pre>
|
||
--
|
||
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
|
||
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
|
||
</pre>
|
||
<!-- body="end" -->
|
||
<p>
|
||
<ul>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0190.html">Bernd Schroeder: "Re: Microtek Scanmaker changes colors"</a>
|
||
<li> <b>Previous message:</b> <a href="0188.html">Kevin Dalley: "Numbering schemes for snapshots"</a>
|
||
<!-- nextthread="start" -->
|
||
<li> <b>Next in thread:</b> <a href="0193.html">Petter Reinholdtsen: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<li> <b>Reply:</b> <a href="0193.html">Petter Reinholdtsen: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<li> <b>Reply:</b> <a href="0203.html">Oliver Rauch: "Re: Please test sane cvs - soname of backend libs"</a>
|
||
<!-- reply="end" -->
|
||
</ul>
|