<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>140402</bug_id>
          
          <creation_ts>2006-07-14 12:51 0000</creation_ts>
          <short_desc>ng-spice-rework misses important configuration flags</short_desc>
          <delta_ts>2007-05-28 18:32:33 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>2006.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>g.p.reitsma@ieee.org</reporter>
          <assigned_to>sci-electronics@gentoo.org</assigned_to>
          <cc>florent.d-halluin@polytechnique.fr</cc>

      

      
          <long_desc isprivate="0">
            <who>g.p.reitsma@ieee.org</who>
            <bug_when>2006-07-14 12:51:38 0000</bug_when>
            <thetext>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 &quot;xspice&quot; 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=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-march=pentium3 -O3 -pipe&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/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/&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo&quot;
CXXFLAGS=&quot;-march=pentium3 -O3 -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig distlocks metadata-transfer sandbox sfperms strict&quot;
GENTOO_MIRRORS=&quot;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/&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=&apos;/distfiles&apos; --exclude=&apos;/local&apos; --exclude=&apos;/packages&apos;&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
SYNC=&quot;rsync://rsync.nl.gentoo.org/gentoo-portage&quot;
USE=&quot;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&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-07-14 12:53:53 0000</bug_when>
            <thetext>Has nothing in common w/ portage tools, please read the product descriptions when filing bugs.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-07-14 12:54:45 0000</bug_when>
            <thetext>@sci - Please, make sure that the herd in metadata.xml is an existing bugzilla alias; sci-electronics is not one of them. ;)

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.p.reitsma@ieee.org</who>
            <bug_when>2006-07-14 13:10:22 0000</bug_when>
            <thetext>Sorry for entering this in the wrong category, it&apos;s the first time for me. 

Thanks, George</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>lucas.chiesa@gmail.com</who>
            <bug_when>2006-08-03 20:14:31 0000</bug_when>
            <thetext>Created an attachment (id=93396)
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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>plasmaroo@gentoo.org</who>
            <bug_when>2006-08-03 21:12:40 0000</bug_when>
            <thetext>(In reply to comment #0)
&gt; --enable-xspice
&gt; 
&gt; This flag is required to enable the use of compact models from semiconductor
&gt; suppliers (spice2 format). So very important for most ng-spice users. The most
&gt; elegant solution would be to make &quot;xspice&quot; 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?

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

This one should be less intrusive I&apos;d imagine. Modular X dependencies look good but the indentation looks a bit fugly -- also if we&apos;re going to push the xspice USE flag into the tree we&apos;ll need to add the flag to profiles/use.local.desc :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>lucas.chiesa@gmail.com</who>
            <bug_when>2006-08-04 05:12:47 0000</bug_when>
            <thetext>Hello,

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

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

Lucas</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>calchan@gentoo.org</who>
            <bug_when>2006-08-04 07:04:27 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; Yes xspice is a bit experimental, from ./configure --help:
&gt; --enable-xspice         Enable XSpice enhancements, (experimental)
&gt; And that&apos;s why I made it a use flag and not always enabled.

Lucas, the problem is simpler than that. If it&apos;s broken like I think it is, and unless we can fix it by a patch, it can&apos;t even be a USE flag. Or we&apos;ll get lots of bugs due to it, even from people who don&apos;t use it. And we really don&apos;t need them. If it isn&apos;t broken, I don&apos;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&apos;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&apos;t use it. And that&apos;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&apos;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&apos;t break ngspice when you compile xspice in it and don&apos;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&apos;t mean you can&apos;t do noise simulations... ;o)

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

Denis.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.p.reitsma@ieee.org</who>
            <bug_when>2006-08-04 14:26:38 0000</bug_when>
            <thetext>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&apos;ve simulated several analog circuits with it, and haven&apos;t seen anything strange. With xspice you can in principle also do mixed signal simulation, but that&apos;s a part I haven&apos;t tried.

The reason you practically cannot do without xspice is that ngspice is a &quot;spice3&quot; simulator. However, all compact models that are available from mayor semiconductor companies are &quot;spice2&quot; compact models, and luckily xpice can read them. 
It&apos;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&apos;ll try the new ebuild.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.p.reitsma@ieee.org</who>
            <bug_when>2006-08-04 15:14:57 0000</bug_when>
            <thetext>The attached ebuild works nice!
I&apos;ve copied it into my portage tree, added &quot;xspice&quot; to the use flags and this ebuild to the package.keywords and builded it. It all worked! I&apos;ve tried a few simulations with it, and all works great. I hope this will become a part of the new tree.

Thanks!

George
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>florent.d-halluin@polytechnique.fr</who>
            <bug_when>2007-01-10 12:50:08 0000</bug_when>
            <thetext>miss --enable-xspice for example 
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>calchan@gentoo.org</who>
            <bug_when>2007-05-26 21:18:20 0000</bug_when>
            <thetext>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 &lt;calchan@gentoo.org&gt;
  +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&apos;d like to stabilize this sooner than later, so I&apos;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&apos;s something.

Denis.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>g.p.reitsma@ieee.org</who>
            <bug_when>2007-05-28 18:32:33 0000</bug_when>
            <thetext>Hi Denis,

I&apos;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&apos;ve used it for simulating several analog circuits and it works fine for me! 
I haven&apos;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 &quot;pcb&quot; are the two only really stable tools from
the &quot;GEDA&quot; suit. 

Thanks,

George</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>93396</attachid>
            <date>2006-08-03 20:14 0000</date>
            <desc>sci-electronics/ng-spice-rework-17-r2.ebuild</desc>
            <filename>ng-spice-rework-17-r2.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L3NjaS1lbGVjdHJvbmljcy9uZy1zcGljZS1yZXdv
cmsvbmctc3BpY2UtcmV3b3JrLTE3LXIxLmVidWlsZCx2IDEuMSAyMDA2LzA1LzEyIDIwOjQ5OjAz
IGNhbGNoYW4gRXhwICQKCmluaGVyaXQgZXV0aWxzCgpERVNDUklQVElPTj0iVGhlIE5leHQgR2Vu
ZXJhdGlvbiBTcGljZSAoRWxlY3Ryb25pYyBDaXJjdWl0IFNpbXVsYXRvcikuIgpTUkNfVVJJPSJt
aXJyb3I6Ly9zb3VyY2Vmb3JnZS9uZ3NwaWNlLyR7UH0udGFyLmd6IgpIT01FUEFHRT0iaHR0cDov
L25nc3BpY2Uuc291cmNlZm9yZ2UubmV0IgpMSUNFTlNFPSJCU0QgR1BMLTIiCgpTTE9UPSIwIgpJ
VVNFPSJyZWFkbGluZSBkZWJ1ZyB4c3BpY2UgWCIKS0VZV09SRFM9In5hbWQ2NCB+cHBjIH54ODYi
CgpSREVQRU5EPSJYPyAoIHx8ICggKHgxMS1saWJzL2xpYlhhdwoJCQkJCXgxMS1saWJzL2xpYlgx
MQkKCQkJCSkKCQkJCQl2aXJ0dWFsL1gxMQoJCSkpCgkJcmVhZGxpbmU/ICggPj1zeXMtbGlicy9y
ZWFkbGluZS01LjAgKSIKCkRFUEVORD0iJHtSREVQRU5EfQoJCVg/ICggfHwgKCAgKHgxMS1wcm90
by94cHJvdG8KCQkJCSkgCgkJCQkJdmlydHVhbC9YMTEKCQkpKSIKCnNyY191bnBhY2soKSB7Cgl1
bnBhY2sgJHtBfQoJY2QgJHtTfQoJZXBhdGNoICR7RklMRVNESVJ9LyR7UE59LWNvbV9sZXQucGF0
Y2gKCWVwYXRjaCAke0ZJTEVTRElSfS8ke1BOfS1udW1wYXJhbS5wYXRjaAoJZXBhdGNoICR7RklM
RVNESVJ9LyR7UE59LXBpcGVtb2RlLnBhdGNoCgllcGF0Y2ggJHtGSUxFU0RJUn0vJHtQTn0tcG9z
dHNjcmlwdC5wYXRjaAp9CgpzcmNfY29tcGlsZSgpIHsKCWVjb25mIFwKCQktLWVuYWJsZS1udW1w
YXJhbSBcCgkJLS1lbmFibGUtZG90LWdsb2JhbCBcCgkJLS1lbmFibGUtaW50bm9pc2UgXAoJCS0t
ZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIFwKCQkkKHVzZV93aXRoIGRlYnVnKSBcCgkJJCh1
c2Vfd2l0aCByZWFkbGluZSkgXAoJCSQodXNlX3dpdGggWCkgXAoJCSQodXNlX2VuYWJsZSB4c3Bp
Y2UpIHx8IGRpZSAiZWNvbmYgZmFpbGVkIgoJZW1ha2UgfHwgZGllICJlbWFrZSBmYWlsZWQiCn0K
CnNyY19pbnN0YWxsICgpIHsKCWxvY2FsIGluZm9GaWxlCglmb3IgaW5mb0ZpbGUgaW4gZG9jL25n
c3BpY2UuaW5mbyo7IGRvCgkJZWNobyAnSU5GTy1ESVItU0VDVElPTiBFREEnID4+ICR7aW5mb0Zp
bGV9CgkJZWNobyAnU1RBUlQtSU5GTy1ESVItRU5UUlknID4+ICR7aW5mb0ZpbGV9CgkJZWNobyAn
KiBOR1NQSUNFOiAobmdzcGljZSkuIEVsZWN0cm9uaWMgQ2lyY3VpdCBTaW11bGF0b3IuJyA+PiAk
e2luZm9GaWxlfQoJCWVjaG8gJ0VORC1JTkZPLURJUi1FTlRSWScgPj4gJHtpbmZvRmlsZX0KCWRv
bmUKCgltYWtlIERFU1RESVI9IiR7RH0iIGluc3RhbGwgfHwgZGllICJtYWtlIGluc3RhbGwgZmFp
bGVkIgoJZG9kb2MgQU5BTFlTRVMgQVVUSE9SUyBCVUdTIENoYW5nZUxvZyBERVZJQ0VTIE5FV1Mg
XAoJCVJFQURNRSBTdHVhcnRzX1BvbHlfTm90ZXMgfHwgZGllICJmYWlsZWQgdG8gaW5zdGFsbCBk
b2N1bWVudGF0aW9uIgoKCSMgV2UgZG9uJ3QgbmVlZCBtYWtlaWR4IHRvIGJlIGluc3RhbGxlZAoJ
cm0gJHtEfS91c3IvYmluL21ha2VpZHgKfQoKc3JjX3Rlc3QgKCkgewoJIyBCdWcgMTA4NDA1Cgl0
cnVlCn0K
</data>        

          </attachment>
    </bug>

</bugzilla>