[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: gnetlist: ERROR: Unbound variable: primitive-fork
Thank you for your reply and hints.
By using grep, as you suggested, I think I found which script is causing the
error ... but it is written in a (to me) foreign language: guile :-)
The file is /usr/share/guile/1.6/ice-9/popen.scm, see below.
On Sat, Apr 10, 2004 at 07:58:36AM -0400, Dan McMahill wrote:
> what about
>
> gnetlist -g gsch2pcb -o tmp.pcb cmeter.sch
>
> Is that broken as well?
Yes, same message: ERROR: Unbound variable: primitive-fork
> Do you have GUILE_LOAD_PATH set by any chance?
No, what should I set it to?
I have tried: export GUILE_LOAD_PATH=/usr/share/guile/1.6/
but still get the same error message.
>
> Take a look at your gnetlist.log file and look for the lines which
> look like:
>
> Read init scm file [/opt/geda/geda-20030901/share/gEDA/scheme/gnetlist.scm]
> Read PCB scm file [/opt/geda/geda-20030901/share/gEDA/scheme/gnet-PCB.scm]
>
> Then use grep to look for 'primitive-fork' in that area. For example
>
> grep primitive /opt/geda/geda-20030901/share/gEDA/scheme/*
>
No results obtained by grepping within the files mentioned in the log.
But grepping a little further gives one hit:
$ find /usr/share/guile -type f -exec grep -l primitive-fork {} \;
/usr/share/guile/1.6/ice-9/popen.scm
The "primitive-fork" reference is found in that file looks like a procedure
named open-process .. but I don't really understand guile so I may have misread
the following:
. ;; run a process connected to an input or output port.
. ;; mode: OPEN_READ or OPEN_WRITE.
. ;; returns port/pid pair.
. (define (open-process mode prog . args)
. (let ((p (pipe))
. (reading (string=? mode OPEN_READ)))
. (setvbuf (cdr p) _IONBF)
. (let ((pid (primitive-fork)))
. (cond ((= pid 0)
. ;; child
. (set-batch-mode?! #t)
Does this mean anything to you?
I have guile vesion 1.6.4
>
> You can also take a look in the gnet-PCB.scm file look for the line which
> looks something like:
>
> (let ((pipe (open-output-pipe (string-append "gm4 -d .........
>
> In particular, what is the 'gm4' or 'm4' command there? Is that in your
> PATH. Try running
>
> m4 --version
>
> using 'gm4' if thats what you have in that spot. I probably don't care
> so much about the exact version but that m4 is installed and working.
$ m4 --version
GNU m4 1.4.1
Thanks for any hints.
Berni