[Pkg-electronics-devel] Bug#911965: kicad: Add libngspice to dependancy list

Carsten Schoenert c.schoenert at t-online.de
Sat Oct 27 10:09:47 BST 2018


Am 27.10.18 um 10:21 schrieb Felix Salfelder:
> On Sat, Oct 27, 2018 at 10:01:29AM +0200, Carsten Schoenert wrote:
>>> Probably the approach used in gnucap-python will work here as well:
>>> - find the SONAME in ./configure, tweak the dlopen call, see [1],
>>> - tweak d/rules: link a dummy executable, inject shlibdeps [2].
>>
>> The dlopen call is currently searching for libngspice.so instead of
>> libngspice.so.0 so your suggestion would not solve all problems.
> 
> Hi Carsten.
> 
> I suggested to dlopen libngspice.so.0. the point is, that you need to
> resolve it during configure time.
> 
> $ readelf -d /usr/lib/x86_64-linux-gnu/libngspice.so |grep SONAME
>  0x000000000000000e (SONAME)             Library soname: [libngspice.so.0]

That's all correct, but right now upstream is opening libngspice.so,
*not* libngspice.so.0!
So yes, I could get the library name with the API version but this all
wouldn't create the correct depended library if we don't patch the
source. And dlopen isn't the solution we want in the end. Upstream
stated they had problems to get this working correctly (while this
feature was added in 2016) and they did the fallback to use dlopen
globally here. In the past this all doesn't really matter because
ngspice was in non-free. This has changed and I'm pretty sure this all
will get solved in the near future to a "correct" implementation.
Because of this I won't invest more time here, there is no real gain on
doing this.

> also, the package name libngspice0-dev seems to be wrong. that should
> have produced a lintian warning...?

No and it never did.

https://lintian.debian.org/full/pkg-electronics-devel@alioth-lists.debian.net.html#ngspice

Once we have a ngspice package with a API version 1 or greater we can
switch over to libngspice-dev which would be a virtual package and
depending on the most recent version of libngspice$(API_VERSION)-dev.
But I've selected this package name for reasons, it's a bit unusual,
yes. I've worked on ngspice I guess for other one year, I posted
sometimes my work here on the list but no one has raised hands. So
that's why the situation is what we see in the archive today.

Policy has no hard requirements on this.

https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#development-files

We can find various versions of package names for -dev packages.

$ grep Package:
/var/lib/apt/lists/*_debian_dists_testing_main_binary-amd64_Packages |
grep "\-dev$"

Hmm, might I change this before the final freeze of buster.

-- 
Regards
Carsten Schoenert



More information about the Pkg-electronics-devel mailing list