Hi Filippo,

On Thu, 2016-02-18 at 22:58 +0100, Filippo Rusconi wrote:
> [ longish mail, bear with me ]

Thank you for this explanation! While I knew about symlinks between
shared library files, your explanation made everything very clear!

[...]


> For each source package that contains a library (or set of libraries,
> as is your case) we need to produce two different binary packages:
> 
> libkleeruntest1, which is the binary package that a user will have to
> install if she ever needs to install a package that makes use of that
> library. This package only contains the REAL-NAME file and the
> SONAME-to-REAL-NAME symbolic link.
> 
> libkleeruntest-dev, which is the binary package that ships all the
> files needed for the use of the library from a development
> perspective. That is the package where the /usr/include/*.h[pp] files
> are shipped. We also ship the second LINKER-NAME-to-REAL-NAME symbolic
> link. In most cases, the -dev package is not versioned: it is
> typically the last version of the library which in turn depends on the
> other binary package of the same version, that of course ships the
> real library file.
> 
> Hope this helps.

Oh, even more work for me :) Would it be possible to resolve the soname
issue within one binary package as I have it now first, and then move
onto splitting the package as you outline it above?


> I tried to ./configure  the package, but I am missing a library on
> this system and I cannot install it. 

Are you referring to STP? It is a dependency I've been packaging as
well. A Jessie binary version is available at:

https://dimjasevic.net/marko/klee/stp_2.1.1+dfsg-1_amd64.deb

It's pretty much the same version of what I've been hoping someone would
review and upload to the New queue (the following one is for Sid):

https://mentors.debian.net/package/stp


> If you cannot succeed with the explanations above, send the makefile's
> (there are some, I saw) and I'll try to see if I can help.

I am not sure if we are thinking of the same, but all Makefile's I use
are available in the package:

https://mentors.debian.net/package/klee

The upstream file I tried to modify is Makefile.rules and in particular
the target starting at line 1115:

https://github.com/klee/klee/blob/master/Makefile.rules#L1115

What also crossed my mind is to hard-code all the names as in the
package there is only one shared library (one .so file) that gets built.


I still don't know how to fix the issue, i.e. I don't see what needs to
be changed in KLEE's build system. Also, are there debhelper tools that
would take care of creating shared library symbolic links?


-- 
Regards,
Marko Dimjašević <ma...@cs.utah.edu> .   University of Utah
https://dimjasevic.net/marko         . PGP key ID: 1503F0AA
Learn email self-defense!  https://emailselfdefense.fsf.org

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to