Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 140402 - ng-spice-rework misses important configuration flags
Summary: ng-spice-rework misses important configuration flags
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: The Soldering-Iron Brotherhood
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-14 12:51 UTC by George Reitsma
Modified: 2007-05-28 18:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
sci-electronics/ng-spice-rework-17-r2.ebuild (ng-spice-rework-17-r2.ebuild,1.73 KB, text/plain)
2006-08-03 20:14 UTC, Lucas Chiesa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description George Reitsma 2006-07-14 12:51:38 UTC
In the ebuild of ng-spice-rework-17-r1, some important configuration flags 
are missing. These flags are:

--enable-xspice

This flag is required to enable the use of compact models from semiconductor suppliers (spice2 format). So very important for most ng-spice users. The most elegant solution would be to make "xspice" a USE flag.

--enable-intnoise

Noise analysis, which is important for most analog circuit designers. I think it is save to enable this always for everyone.

I use ng-spice in this manner, and it works great for me. 

Thanks,

George

====================================================================

Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r9 i686)
=================================================================
System uname: 2.6.16-gentoo-r9 i686 Pentium III (Coppermine)
Gentoo Base System version 1.6.15
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=pentium3 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mirror.scarlet-internet.nl/pub/gentoo ftp://mirror.nutsmaas.nl/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="x86 3dfx Adds X aac aalib alsa apache2 apm arts avi berkdb bidi bitmap-fonts bl cards cdparanoia cdr cli crypt cups dga directfb divx4linux dlloader doc dri dts dvb dvdread edl eds emboss encode esd fbcon foomaticdb for fortran gdbm ggi gif gnome gpm gstreamer gtk gtk2 i8x0 imlib ipv6 isdnlog jack jpeg kde libcaca libg++ libwww live lzo mad matroska mikmod mmx mmxext motif mp3 mpeg mythtv nas ncurses nls nptl ogg opengl oss pam pcre pdflib perl png pppd python qt qt3 qt4 quicktime readline real reflection rtc samba sdl session spell spl sse sse2 ssl support svga tcpd theora truetype truetype-fonts type1-fonts udev v4l video vorbis win32codecs xanim xinerama xml xmms xorg xv xvid xvmc zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_i810 video_cards_vesa video_cards_fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-07-14 12:53:53 UTC
Has nothing in common w/ portage tools, please read the product descriptions when filing bugs.
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-07-14 12:54:45 UTC
@sci - Please, make sure that the herd in metadata.xml is an existing bugzilla alias; sci-electronics is not one of them. ;)

Comment 3 George Reitsma 2006-07-14 13:10:22 UTC
Sorry for entering this in the wrong category, it's the first time for me. 

Thanks, George
Comment 4 Lucas Chiesa 2006-08-03 20:14:31 UTC
Created attachment 93396 [details]
sci-electronics/ng-spice-rework-17-r2.ebuild

New ebuild with xspice use flag, --enable-intnoise and also added an X use flag, and the dependencies on modular X. It also seems to be linking with ncurses without being in the dependencies... Please check if the dependencies are correct.
Comment 5 Tim Yamin (RETIRED) gentoo-dev 2006-08-03 21:12:40 UTC
(In reply to comment #0)
> --enable-xspice
> 
> This flag is required to enable the use of compact models from semiconductor
> suppliers (spice2 format). So very important for most ng-spice users. The most
> elegant solution would be to make "xspice" a USE flag.

We decided earlier that this was still rather experimental (bug #109851 comment #2). Denis, do you think this is worth adding now?

> --enable-intnoise
> 
> Noise analysis, which is important for most analog circuit designers. I think
> it is save to enable this always for everyone.

This one should be less intrusive I'd imagine. Modular X dependencies look good but the indentation looks a bit fugly -- also if we're going to push the xspice USE flag into the tree we'll need to add the flag to profiles/use.local.desc :)
Comment 6 Lucas Chiesa 2006-08-04 05:12:47 UTC
Hello,

Yes xspice is a bit experimental, from ./configure --help:
--enable-xspice         Enable XSpice enhancements, (experimental)
And that's why I made it a use flag and not always enabled.

Yes, I don't like the indentation either, I tried to copy the one in the migration guide...

Lucas
Comment 7 Denis Dupeyron (RETIRED) gentoo-dev 2006-08-04 07:04:27 UTC
(In reply to comment #6)
> Yes xspice is a bit experimental, from ./configure --help:
> --enable-xspice         Enable XSpice enhancements, (experimental)
> And that's why I made it a use flag and not always enabled.

Lucas, the problem is simpler than that. If it's broken like I think it is, and unless we can fix it by a patch, it can't even be a USE flag. Or we'll get lots of bugs due to it, even from people who don't use it. And we really don't need them. If it isn't broken, I don't see why it would need to be optional.

I remember that I tried xspice and that my conclusion was that it was broken. I can't remember how it broke, but I seem to remember it did. Same with numparams. It breaks ngspice if you compile it in, even if you don't use it. And that's bad, so I had to write a patch for it.

Maybe we should use the slow season to thouroughly test it (xspice in ngspice, I mean). Lucas, why don't you research a few good test cases for it, and check that it does work on a few real world examples ? If you do so, please check that it doesn't break ngspice when you compile xspice in it and don't use it.

I want to be sure the thing works before we include it in. Same with intnoise. Oh and BTW, not having intnoise doesn't mean you can't do noise simulations... ;o)

Finally, you don't need the USE flag to enable things. You can do so now, with the ebuild that's currently in portage :
# EXTRA_ECONF="--enable-xspice --enable-intnoise" emerge ng-spice-rework

Denis.
Comment 8 George Reitsma 2006-08-04 14:26:38 UTC
Great to see you are looking into it!

Currently I do use ngspice-rework-17, but I compiled it by hand with the following configure options:
./configure --enable-intnoise --enable-xspice --with-readline=yes --prefix=/usr

For me it compiled without any problem, and it works fine. I've simulated several analog circuits with it, and haven't seen anything strange. With xspice you can in principle also do mixed signal simulation, but that's a part I haven't tried.

The reason you practically cannot do without xspice is that ngspice is a "spice3" simulator. However, all compact models that are available from mayor semiconductor companies are "spice2" compact models, and luckily xpice can read them. 
It's true that you can calculate the noise power density spectrum, without int noise. But for any analog circuit, you need to know the integrated noise, so that is a very handy option.
I'll try the new ebuild.
Comment 9 George Reitsma 2006-08-04 15:14:57 UTC
The attached ebuild works nice!
I've copied it into my portage tree, added "xspice" to the use flags and this ebuild to the package.keywords and builded it. It all worked! I've tried a few simulations with it, and all works great. I hope this will become a part of the new tree.

Thanks!

George
Comment 10 Florent D'halluin 2007-01-10 12:50:08 UTC
miss --enable-xspice for example 
Comment 11 Denis Dupeyron (RETIRED) gentoo-dev 2007-05-26 21:18:20 UTC
Sorry this is coming a bit late, but it needed real testing before going into the tree. There were also a few things to fix and change, see below my commit message.

*ng-spice-rework-17-r2 (26 May 2007)

  26 May 2007; Denis Dupeyron <calchan@gentoo.org>
  +ng-spice-rework-17-r2.ebuild:
  Enabled xspice and intnoise after testing them, which closes bug #140402.
  Added optional ngspice and xspice documentation. Fixed X dependencies and
  made them optional. Fixed collisions with external xgraph. Fixed debug
  messing with compilation optimizations. Made debug even more chatty.

Please test this as much as you can and report back (in private is OK). I'd like to stabilize this sooner than later, so I'd rather be sure it works. All I know is that it does work with my rather heavy nutmeg scripts for automated analog design, and that's something.

Denis.
Comment 12 George Reitsma 2007-05-28 18:32:33 UTC
Hi Denis,

I've compiled ngspice with the above ebuild, using the xpsice use flag, and recompiled it a while ago after switching to gcc 4.1.1.  (from gcc 3.x.x). I've used it for simulating several analog circuits and it works fine for me! 
I haven't got any digital circuits myself, so I cannot test that part, but the analog transient and ac looks good to me. 
I think this tool together with "pcb" are the two only really stable tools from
the "GEDA" suit. 

Thanks,

George