[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: gsch2pcb problem: caused by guile/Mandriva?



Op maandag 12-11-2007 om 00:23 uur [tijdzone +0000], schreef Peter Clifton:

...

> > I downloaded and installed the most recent ISO version I could find,
> > geda-install-20070221a.iso.
> 
> Heh.. we were just having a discussion on IRC as to whether many people
> installed from that CD, and whether it warranted making a new one.

Well, actually I didn't take the CD detour, but rather mounted the ISO
image as loopback, and installed it from there. 
Anyway, I find this ISO saves me a huge amount of time and effort when
compared to having to manually build everything from source files. But a
proper Mandriva package would be even better, of course :-)

> > OK, I got half a dozen more of these. Applying your suggested changes
> > got rid of the first error message; however, the other problem persists:
> > 
> > $ gsc2pcb Filter.sch
> > ...
> > Using the m4 processor for pcb footprints
> > /usr/bin/m4:stdin:37: bad expression in eval: / 2
> 
> That might be a bug in the PCB footprint library, or an illegal
> character somewhere. m4 does not like "-" characters appearing in
> footprint names - do you happen to have one?

Uh, actually I had "-" characters in several footprint names. The m4
problems were fixed after I put underscore characters in their place.

[snip m4 running wild]

> Your diagnosis seems correct, but I don't know what's caused it.

It turned out to be the "-" characters. Actually, it would be nice if
PCB would do a sanity check and give an appropriate warning when the
user tries saving footprint names with illegal characters (e.g. in the
"Save Buffer Elements to File" dialog). Or perhaps gsch2pcb could do
this check, but that would already be a bit less user-friendly.

I do a bit of dabbling in scripting and programming myself, and if
there's one thing I absolutely try to get right from line one on, it is
to do a sanity check on data from external sources (e.g. users); and to
issue clear, understandable warnings or error messages if things aren't
quite right.

Not only does this prevent a lot of user headaches, but it also
dramatically improves security. The above example with m4 is in fact at
least a DoS-issue, with the login session eventually becoming unusable
if the process isn't killed.


Anyway, thanks for your excellent help (also referring to your second
reply)! I'll sure put in a vote for gEDA on the Mandriva wish list;
there already is a gEDA Mandriva package, but it's almost two years old
and lacks key elements such as PCB. Also, when time permits, I'll try my
hand at some easy-to-understand, step-by-step beginner's manuals with
lots of examples, to get newbies up to speed without them having to go
through all these little pitfalls along the way I stepped into
(sometimes even on more than one occasion).


Thanks once more, all the best,

Richard Rasker



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user