# Gnetlist build/run-time problems

## I get a "parenthesis mismatch" error when running gnetlist. What's up?

Starting with Fedorea Core 6 and SuSE 10.2, many users have reported an error which looks like this:

    $gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
    Command line passed = gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
    gEDA/gnetlist version 20061020
    gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.
    This is free software, and you are welcome to redistribute it under certain
    conditions; please see the COPYING file for more details.

    Remember to check that your schematic has no errors using the drc2 backend.
    You can do it running 'gnetlist -g drc2 your_schematic.sch -o drc_output.txt'
    and seeing the contents of the file drc_output.txt.

    Loading schematic [/home/nano/TwoStageAmp/TwoStageAmp.sch]
    Probably parenthesis mismatch in /usr/share/gEDA/scheme/gnet-spice-sdb.scm
    Most recently read form: (#@begin #<unspecified>)
    ERROR: Unbound variable: spice-sdb

Several gnetlist backends evince this problem, including spice-sdb and drc2.

This is a bug in guile-1.8.X. The gEDA developers are working on a fix. Meanwhile, try to backrev your version of guile to 1.6.7, which is known to work flawlessly with gEDA.

## The gnetlist bom backend does not work. What is wrong?

If when running gnetlist like this:

    gnetlist -g bom filename.sch

and gnetlist outputs an error message like:

    Loading schematic [filename.sch]
    ERROR: In procedure open-file:
    ERROR: No such file or directory: “attribs”

then you need to create a file called “attribs” in the current directory which contains the attributes which you want inside the bom file. An example of this file would be:

    refdes
    device
    value

## Some gnetlist backends overflow the stack. How do I solve this?

If you get an error message like:

    ERROR: Stack overflow

when running certain larger sized schematics through some of the backends, then add the following to a `~/.gEDA/gnetlistrc` or a local `gnetlistrc` (in the current working directory):

    (debug-options (list 'stack 200000))
    (eval-options (list 'stack 200000))

If this does not work, then edit the appropriate backend (usually named: gnet-backend_name.scm) and put the above lines at the top of this file. The gnetlist backends can be found in `${prefix}/share/gEDA/scheme`. Also send an e-mail to geda-dev reminding the developers to fix this. Remember, you must subscribe to geda-dev before you post to the geda-dev e-mail list.

## gnetlist has created a netlist with duplicate pins!?

There has been at least one report of the following message coming from PCB after loading up a netlist created by gnetlist:

    28: Error! Element R117 pin 2 appears multiple times in the netlist file.
    29: Error! Element C167 pin 2 appears multiple times in the netlist file.

What has happened is gnetlist (really libgeda) created two nets instead of one. This happens when you draw two nets that cross each other and a pin connecting to the intersection of the two crossing nets. Note the cross nets are not connected together. A schematic which demonstrates this looks like this:

The developers are debating whether or not this is a bug in gnetlist, but for now make sure your net connections, especially those that involve pins connecting to the middle of other nets, are explicitly drawn. Here is how the above connection should be drawn to netlist properly: