Tclspice

Help
2013-11-30
2013-12-11
  • Justin Fisher
    Justin Fisher
    2013-11-30

    I'm having a little difficulty getting the expamples in the tclspice directory to run. My system does have tclspice installed.

    in tcl-testbench1 I changed

    load ../../../src/.libs/libspice.so

    to

    load /usr/lib64/tclspice/libspice.so

    as that's where yum seems to have put it. The original line ../../../src/.libs/libspice.so doesn't seem to exist. This is in the ngspice git clone directory.

    I also see the line:

    package require BLT

    which isn't metioned in the manual. The manual says it should read:

    package require spice

    so, if I leave the BLT line and don't add the spice line I get:

    Error in startup script: couldn't load file "/usr/lib64/tclspice/libspice.so": /usr/lib64/tclspice/libspice.so: undefined symbol: Blt_GetVector
    while executing
    "load /usr/lib64/tclspice/libspice.so"
    (file "tcl-testbench1.tcl" line 8)

    if I add the spice line but leave the BLT line I get:

    Error in startup script: can't find package spice
    while executing
    "package require spice"
    (file "tcl-testbench1.tcl" line 8)

    Any idea what I'm doing wrong?

    Kind regards,

    Justin Fisher.

     
  • Holger Vogt
    Holger Vogt
    2013-11-30

    Justin,

    What manual (version, chapter, page) are you referring to?

    What version of tclspice do you have installed?

    If yum installs the original tclspice, well, that is totally outdated and not compatible with tclspice within ngspice and not compatible with the examples given.

    Holger

     
  • Holger Vogt
    Holger Vogt
    2013-11-30

    Justin,

    blt is required definitely. So can you install blt with yum?

    Holger

     
  • Justin Fisher
    Justin Fisher
    2013-12-01

    Thanks Holger.

    So I need to recompile the NGSPICE with the tclspice option?

    If I do that I get:

    can't find Tcl configuration script "tclConfig.sh"
    Should you add --with-tcl=/usr/lib64 to ./configure arguments?
    Should you add --with-tcl=/usr/lib64/tcl8.5 to ./configure arguments?

    I'm wondering if it's looking for tcl8.4? That location is definitly correct on my system for tclConfig.sh

    Justin.

     
  • Justin Fisher
    Justin Fisher
    2013-12-01

    Opps. My bad.

    config looks for --with-tcl=/usr/lib64/tcl8.5

    I was putting in --with-tcl=/usr/lib64/tcl8.5/tclConfig.sh

    However I now get

    configure: error: Couldn't find Tcl/BLT headers

    I'm not sure where it's expecting to find these headers or how to tell config where to find them. The readme.tcl file makes no mention of how to configure for this.

    I have BLT 2.4 which should be the correct version.

     
  • Robert Larice
    Robert Larice
    2013-12-01

    Hello Justin,

    tclConfig.sh is part of a "development" package for tcl.

    for example in debian this package is called "tcl8.5-dev"

    you need to install that first,
    and some more, for example "blt-dev" "tk8.5-dev"
    perhaps even more ...

    Robert

     
  • Justin Fisher
    Justin Fisher
    2013-12-11

    I checked what is installed. I have all the tk8.5 and blt packages that are available on yum. I'm absolutely positive there is nothing missing, however if there is a required package list,I wouldn't mind taking a look.

    If I add the following to my config:

    --with-tcl=/usr/i686-w64-mingw32/sys-root/mingw/share/tcl8.5/tclConfig.sh

    I get:

    can't find Tcl configuration script "tclConfig.sh"
    find: /usr/libexec/initscripts/legacy-actions/auditd': Permission denied Should you add --with-tcl=/usr/i686-w64-mingw32/sys-root/mingw/share/tcl8.5 to ./configure arguments? Should you add --with-tcl=/usr/i686-w64-mingw32/sys-root/mingw/lib to ./configure arguments? find:/usr/share/polkit-1/rules.d': Permission denied
    Should you add --with-tcl=/usr/x86_64-w64-mingw32/sys-root/mingw/share/tcl8.5 to ./configure arguments?
    Should you add --with-tcl=/usr/x86_64-w64-mingw32/sys-root/mingw/lib to ./configure arguments?
    find: `/usr/lib/firewalld': Permission denied
    Should you add --with-tcl=/usr/lib64 to ./configure arguments?
    Should you add --with-tcl=/usr/lib64/tcl8.5 to ./configure arguments?

    I can add any one of the suggested -with-tcl arguments and get the same result.

    tclConfig.sh turns up in a number of places on my machine, all installed by yum.

    --
    Thanks,

    Justin.