FS#70569 - ngspice 34-1 is missing all include files

Attached to Project: Community Packages
Opened by Alexander Kaltsas (firewalker) - Saturday, 24 April 2021, 14:01 GMT
Last edited by Kyle Keen (keenerd) - Wednesday, 28 April 2021, 19:36 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Kyle Keen (keenerd)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

With ngspice 34-1 there is no /usr/include/ngspice directory. All header files are miising.

yaourt -Ql ngspice

ngspice /usr/
ngspice /usr/bin/
ngspice /usr/bin/ngmakeidx
ngspice /usr/bin/ngmultidec
ngspice /usr/bin/ngnutmeg
ngspice /usr/bin/ngproc2mod
ngspice /usr/bin/ngsconvert
ngspice /usr/bin/ngspice
ngspice /usr/include/
ngspice /usr/include/config.h
ngspice /usr/lib/
ngspice /usr/lib/libngspice.so
ngspice /usr/lib/libngspice.so.0
ngspice /usr/lib/libngspice.so.0.0.0
ngspice /usr/lib/ngspice/
ngspice /usr/lib/ngspice/analog.cm
ngspice /usr/lib/ngspice/digital.cm
ngspice /usr/lib/ngspice/spice2poly.cm
ngspice /usr/lib/ngspice/table.cm
ngspice /usr/lib/ngspice/xtradev.cm
ngspice /usr/lib/ngspice/xtraevt.cm
ngspice /usr/share/
ngspice /usr/share/doc/
ngspice /usr/share/doc/ngspice/
ngspice /usr/share/doc/ngspice/manual.pdf
ngspice /usr/share/licenses/
ngspice /usr/share/licenses/ngspice/
ngspice /usr/share/licenses/ngspice/LICENSE
ngspice /usr/share/man/
ngspice /usr/share/man/man1/
ngspice /usr/share/man/man1/cmpp.1.gz
ngspice /usr/share/man/man1/ngmakeidx.1.gz
ngspice /usr/share/man/man1/ngmultidec.1.gz
ngspice /usr/share/man/man1/ngnutmeg.1.gz
ngspice /usr/share/man/man1/ngproc2mod.1.gz
ngspice /usr/share/man/man1/ngsconvert.1.gz
ngspice /usr/share/man/man1/ngspice.1.gz
ngspice /usr/share/ngspice/
ngspice /usr/share/ngspice/helpdir/
ngspice /usr/share/ngspice/helpdir/ngspice.idx
ngspice /usr/share/ngspice/helpdir/ngspice.txt
ngspice /usr/share/ngspice/scripts/
ngspice /usr/share/ngspice/scripts/ciderinit
ngspice /usr/share/ngspice/scripts/devaxis
ngspice /usr/share/ngspice/scripts/devload
ngspice /usr/share/ngspice/scripts/setplot
ngspice /usr/share/ngspice/scripts/spectrum
ngspice /usr/share/ngspice/scripts/spinit
This task depends upon

Closed by  Kyle Keen (keenerd)
Wednesday, 28 April 2021, 19:36 GMT
Reason for closing:  Fixed
Additional comments about closing:  ngspice 34-2
Comment by loqs (loqs) - Saturday, 24 April 2021, 18:12 GMT
See [1] which is then reverted then re-implemented differently [2]. config.h is not intended to be installed [3]. sharedspice.h is not installed because the shared module is built first and that config is then overwritten.

[1] https://github.com/imr/ngspice/commit/5a0d213fec65104ceb044bc769731f36b8222b0a
[2] https://github.com/imr/ngspice/commit/7dc6c47df588650819cdcf37c0ee18d9890a12ee
[3] https://github.com/imr/ngspice/commit/0ae9aeec412ac5f939fc2d02b582269453109a68
Comment by Nick (nickoe) - Wednesday, 28 April 2021, 10:34 GMT
Maybe we should move the config.h into /usr/include/ngspice/?

A follow up reply should appear shortly about this on https://lists.launchpad.net/kicad-developers/msg45060.html

But I will quote Holger here for now:

config.h for ngspice should not be distributed, because it is a local,
OS dependent autogenerated file, and might interfere with other packages.

So I did remove it in ngspice-34.

Nevertheless KiCad uses it (from its position in
/usr/include/ngspice/config.h) to extract compile time version info for
ngspice.

Due to a bug from my side config.h was still distributed with
ngspice-34, now located in /usr/include/config.h.

ngspice-35 will contain version info in sharedspice.h (which is always
distributed), and there are some suggestion by Carsten how to handle the
version info issue "the correct way" (unfortunately barely Windows
compatible).

So indeed an intermediate sultion for ngspice-34 might be to shift
config.h to /usr/include/ngspice/config.h before compilation.
Comment by loqs (loqs) - Wednesday, 28 April 2021, 12:40 GMT
@nickoe please try my proposed fix from https://bugs.archlinux.org/task/70563#comment199178
Edit:
As I included the pkgconfig file kicad obtains the information from that so the removed config.h is not needed.
Comment by Nick (nickoe) - Wednesday, 28 April 2021, 19:34 GMT
The fix you mention, implemented in pkgver 2 (ngspice 34-2) appears to work fine for building kicad master again.

Loading...