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

Re: gEDA-user: Compiling and installing gschem: "Failed to load default font."



On Thu, 2009-02-19 at 15:12 +0100, Denis Grelich wrote:
> On Thu, 19 Feb 2009 12:54:22 +0000
> Peter Clifton <pcjc2@xxxxxxxxx> wrote:
> 
> > > I tried to install the git head of gschem. Compiling and installing
> > > with
> > > 
> > > 	./autogen.sh
> > > 	configure --prefix=/usr
> > > 	make
> > > 	sudo make install
> > 
> > Did you install the "libgeda" and "symbols" portions in /usr as well
> > before hand? The symbols package contains the font.
> 
> Yes, both, by issuing:
> 
> 	./configure --prefix=/usr
> 	make
> 	sudo make install
> 
> 
> > Typically we'd suggest not installing hand-built software in /usr, as
> > it can cause conflicts with the package management of what ever
> > distribution you're using. If you wanted a system wide
> > location, /usr/local works well without the risk of conflicts.
> 
> I'm aware of those issues, but I prefer to have only a single version
> installed at a time. Package management conflicts will be resolved by
> --force ;)
> 
> 
> > > strace gschem says:
> > > 
> > > 	write(9, "Component [title-B.sym] was not "..., 63) = 63
> > > 	access("../lib/sym/font/b_.sym", R_OK)  = -1 ENOENT (No
> > > such file or directory) write(9, "Could not find character \'b\'
> > > def"..., 41) = 41 access("../lib/sym/font/quest.sym", R_OK) = -1
> > > ENOENT (No such file or directory) write(2, "Could not load
> > > question font cha"..., 66) = 66 write(1, "Failed to load default
> > > font.\n", 29) = 29 exit_group(-1)                          = ?
> > 
> > I'm not sure if the relative paths there are normal or not, but in any
> > case, we'd need to see whatever "chdir" command was issued above to
> > figure out just where it is looking for these fonts.

Hmm:

#define DEFAULT_FONT_DIRECTORY   "../lib/sym/font"

This should be overridden when gEDA reads "geda-font.scm", on my machine
this resides in /home/pcjc2/geda/share/gEDA/scheme/geda-font.scm

It is read in by the system-gafrc file (which is installed by libgeda):

; Load the default font
(let ((font-def-file (%search-load-path "geda-font")))
  (if font-def-file 
      (load font-def-file)
      (display "Failed to load default font.\n")))


That load path should include the correct path:


(define geda-scheme-path (string-append geda-data-path path-sep "scheme"))
(set! %load-path (append (list geda-scheme-path) %load-path))

geda-data-path is defined in libgeda/src/g_register.c, and comes from this call:

const char *s_path_sys_data () {
  static const char *p = NULL;
  if (p == NULL) {
    p = g_getenv ("GEDADATA");
  }
# if !defined (_WIN32)
  if (p == NULL) {
    p = GEDADATADIR;
    g_setenv ("GEDADATA", p, FALSE);
  }
# endif
  return p;
}

Which should boil back down to the GEDADATADIR variable in config.h (on
non Win32 platforms).


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



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