<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello<br>
<br>
How exactly to you use dpkg-shlibdeps? Because I get the following bug:
dpkg-shlibdeps: failure: cannot read debian/control: No such file or
directory<br>
<br>
I have implemented the following little script to get the dependencies
of my libraries:<br>
<br>
<small>#!/bin/bash<br>
<br>
LIBS="$@"<br>
<br>
(<br>
for x in `objdump -p ${LIBS} | grep NEEDED`<br>
do<br>
if [ ! ${x} = "NEEDED" ]<br>
then<br>
VAR="`dpkg -S ${x}`"<br>
VAR=${VAR//:*/}<br>
echo ${VAR}<br>
fi <br>
done<br>
) | sort -u<br>
</small><br>
The libraries are passed as parameter to the script and it returns the
list of needed packages. It can easily be used in the EXECUTE_PROCESS
command.<br>
<br>
Could this be used? What do you think? Because I have several problems:<br>
1) I do not wanna pass the libraries hard coded => I would like to
get all libraries|executables which are installed by my deb file
automatically. They are defined by the INSTALL(PROGRAMS ...) command.
But I cannot get a list of theses libs|exes.<br>
2) What about dependencies to my own (installed) libraries. They must
be excluded in the script. I think this could be done with the
information form 1).<br>
3) Where should I execute this script. I think, it must be executed in
the config file for cpack.<br>
<br>
David<br>
<br>
<br>
Hendrik Sattler wrote:
<blockquote cite="mid:49101AD8.6070205@hendrik-sattler.de" type="cite">
<pre wrap="">Mathieu Malaterre schrieb:
</pre>
<blockquote type="cite">
<pre wrap="">I quickly browse thought the page you sent and indeed this is the way
to retrieve the shared lib deps. However, debian references packages
name (not lib name). So we are still missing the inverse lookup of
what package provide a particular shared libs. I can't remember which
file list all those (package -> libs reference). I guess one could do
a:
$ dpkg -S libname.so
</pre>
</blockquote>
<pre wrap=""><!---->
Did you read my message?
Citing from dpkg-shlibdeps:
dpkg-shlibdeps has two possible sources of information to generate
dependency information. Either symbols files or shlibs files. For each
binary that dpkg-shlibdeps analyzes, it finds out the list of libraries
that it's linked with. Then, for each library, it looks up either the
symbols file, or the shlibs file (if the former doesn't exist). Both
files are supposed to be provided by the library package and should thus
be available as /var/lib/dpkg/info/package.symbols or
/var/lib/dpkg/info/package.shlibs. The package name is identified in two
steps: find the library file on the system (looking in the same
directories that ld.so would use), then use dpkg -S library-file to
lookup the package providing the library.
HS
_______________________________________________
CMake mailing list
<a class="moz-txt-link-abbreviated" href="mailto:CMake@cmake.org">CMake@cmake.org</a>
<a class="moz-txt-link-freetext" href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake</a>
</pre>
</blockquote>
<br>
</body>
</html>