[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA: Could not load question font char -- check font-directory
Carlos, Mike,
Yeah, my gattrib prog employs heavy reuse of gschem & gnetlist,
including the guile stuff to read the RC files. Particularly at the
front end of the prog (where the error is occuring), the program flow
is very similar to those two programs, and I am using fcns out of
libgeda.
Thanks for the replies. I've been pursuing this, and have found that
the problem occurs when reading in the .sch file. Here's a gdb
backtrace:
------------------- backtrace ------------------
(gdb) bt
#0 o_text_load_font (w_current=0x810b8c8, needed_char=98 'b')
at o_text_basic.c:128
#1 0x402e96e0 in o_text_width (w_current=0x810b8c8, string=0x8115128 "R?",
size=5) at o_text_basic.c:602
#2 0x402e9861 in o_text_create_string (w_current=0x810b8c8,
object_list=0x8115138, string=0x8115128 "R?", size=10, color=8, x=200,
y=300, alignment=0, angle=0) at o_text_basic.c:672
#3 0x402ea27f in o_text_add (w_current=0x810b8c8, object_list=0x8114fc0,
type=84 'T', color=8, x=200, y=300, alignment=0, angle=0,
string=0x8114d28 "refdes=R?", size=10, visibility=1, show_name_value=1)
at o_text_basic.c:1084
#4 0x402ea8ea in o_text_read (w_current=0x810b8c8, object_list=0x8114e98,
buf=0xbfffea40 "T 200 300 8 10 1 1 0 0 1\n", fp=0x8109b10,
release_ver=20031231, fileformat_ver=1) at o_text_basic.c:1265
#5 0x402d967d in o_read (w_current=0x810b8c8, object_list=0x8109a08,
filename=0x8109030 "/home/binaries/geda/share/gEDA/sym/analog/resistor-1.sym") at a_basic.c:313
#6 0x402e2c0c in o_complex_add (w_current=0x810b8c8, object_list=0x81090e0,
type=67, color=1, x=34900, y=48300, angle=90, mirror=0,
clib=0x81090b0 "/home/binaries/geda/share/gEDA/sym/analog",
basename=0xbfffef10 "resistor-1.sym", selectable=1, attribute_promotion=0)
at o_complex_basic.c:446
#7 0x402e3195 in o_complex_read (w_current=0x810b8c8, object_list=0x81090e0,
buf=0xbffff070 "C 34900 48300 1 90 0 resistor-1.sym\n",
release_ver=20040111, fileformat_ver=1) at o_complex_basic.c:659
#8 0x402d9643 in o_read (w_current=0x810b8c8, object_list=0x81090e0,
filename=0x8108c98 "/home/sdb/OpticalInstrumentationAmp/OpticalInstAmpModel_1.sch") at a_basic.c:303
#9 0x402d992e in f_open (w_current=0x810b8c8,
filename=0x8108c98 "/home/sdb/OpticalInstrumentationAmp/OpticalInstAmpModel_1.sch") at f_basic.c:47
#10 0x08076a32 in main_prog (argc=2, argv=0xbffff634) at gattrib.c:177
#11 0x403436e1 in gh_launch_pad (closure=0x8076820, argc=2, argv=0xbffff634)
at gh_init.c:60
#12 0x4034cca0 in invoke_main_func (body_data=0xbffff570) at init.c:636
#13 0x4034cc68 in scm_boot_guile_1 (base=0xbffff56c, closure=0xbffff570)
at init.c:616
#14 0x4034c974 in scm_boot_guile (argc=2, argv=0xbffff634,
main_func=0x403436c4 <gh_launch_pad>, closure=0x8076820) at init.c:440
#15 0x40343716 in gh_enter (argc=2, argv=0xbffff634,
c_main_prog=0x8076820 <main_prog>) at gh_init.c:70
#16 0x08076c94 in main (argc=2, argv=0xbffff634) at gattrib.c:307
#17 0x40407507 in __libc_start_main (main=0x8076c5c <main>, argc=2,
ubp_av=0xbffff634, init=0x8050fb4 <_init>, fini=0x8076ce0 <_fini>,
rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffff62c)
at ../sysdeps/generic/libc-start.c:129
(gdb)
--------------------------------------------------------
The program is trying to read in a complex (type C). The calling
chain is something like:
f_open -> o_read -> o_complex_read -> o_complex_add ->
o_read -> o_text_read -> o_text_add -> o_text_create_string ->
o_text_width -> o_text_load_font.
As for Carlos's question: Yes, I'd rather not have anything to do
with gschem drawing fonts and so on. Gattrib doesn't care about any
of the graphical stuff which is used in gschem. It is more like
gnetlist -- it just reads in the .sch files and fills out (TOPLEVEL
*pr_current) with the non-graphical information. However, it is a GTK
program because it runs a spreadsheet widget, has a menubar, pop-up
windows, and stuff like that.
My prog was working pretty well earlier until I had to put more guile
callbacks into it in order to make pop-up windows work. That's when
all heck broke loose.
Here are some questions:
* Do you have any suggestions about how to fill out (TOPLEVEL
*pr_current) without needing to touch
the GUI-related fcns?
* How does gschem differ from gnetlist when they must both
read in the .sch files and fill out pr_current?
* How can I get rid of some of these unnecessary guile callbacks
(like those defining the line color) without causing compilation
problems? Can I just leave them out? And which ones are necessary
to enable pop-up windows (such as the "help->about" window)?
If you want to get your hands really dirty, I can post my code for you
to look at it. It is very ugly, however. . . .
Stuart