Building GnuCash on Suse 10.0RC1
Rauch Christian
info at rauch-webdesign.de
Thu Sep 22 09:19:03 EDT 2005
Rauch Christian schrieb:
> Hi List!
>
> I am currently trying to build gnucash on a suse 10.0RC1 box.
> Together with Christian Stimming on gnucash-de i already solved some
> problems with gcc4 (libofx, guppi,g-wrap) but now i am stuck with a
> error on guile I think.
> everything compiled fine, rpms were built (yes, I am trying to do this
> with rpms because of reusing those after successfull building on my
> testbox), but on starting gnucash on console, it only says:
> ERROR: unbound variable: with-load-pathname
>
> The only i found about this error was an email from Derek Atkins, that
> this may be a error in Guile Installation.
>
> I am using the guile-package delivered with suse 10.0RC1, so i don't
> think, this could be wrong.
>
> However, guile-version is 1.6.7-8 and is located in /usr.
>
> I built Guppi and g-wrap to be in /opt/gnome, perhaps this is the error.
>
> According to what i can read from ./configure and make, Guppi and
> g-wrap are found, but i can not see an error regarding guile.
>
> Does anyone have an idea what the problem can be here?
>
> And no, i don't have any knowledge of C(++), Python, or anything other
> except PHP ;-)
>
> thanks,
> Rauch Christian
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
>
Problem is solved!
Solution was posted by RBibrach on gnucash-de
(https://lists.gnucash.org/pipermail/gnucash-de/2005-September/003442.html)
including an addendum for suse 10.0rc1 from me
(https://lists.gnucash.org/pipermail/gnucash-de/2005-September/003443.html)
for non-german-speaking, people:
responsible for this behaviour is slib 3.a2 installed by suse10.0rc1.
the file guile.init has to be fixed (replacing in line 127 UNIX through unix
and in /guile/1.6/ice-9/slib.scm the following lines have to be added:
(define software-type
(if (string<? (version) "1.6")
(lambda () 'UNIX)
(lambda () 'unix)))
(define (user-vicinity)
(case (software-type)
((VMS) "[.]")
(else "")))
(define vicinity:suffix?
(let ((suffi
(case (software-type)
((amiga) '(#\: #\/))
((macos thinkc) '(#\:))
((ms-dos windows atarist os/2) '(#\\ #\/))
((nosve) '(#\: #\.))
((unix coherent plan9) '(#\/))
((vms) '(#\: #\]))
(else
(warn "require.scm" 'unknown 'software-type (software-type))
"/"))))
(lambda (chr) (and (memv chr suffi) #t))))
(define (pathname->vicinity pathname)
(let loop ((i (- (string-length pathname) 1)))
(cond ((negative? i) "")
((vicinity:suffix? (string-ref pathname i))
(substring pathname 0 (+ i 1)))
(else (loop (- i 1))))))
(define (program-vicinity)
(define clp (current-load-port))
(if clp
(pathname->vicinity (port-filename clp))
(slib:error 'program-vicinity " called; use slib:load to load")))
(define sub-vicinity
(case (software-type)
((VMS) (lambda
(vic name)
(let ((l (string-length vic)))
(if (or (zero? (string-length vic))
(not (char=? #\] (string-ref vic (- l 1)))))
(string-append vic "[" name "]")
(string-append (substring vic 0 (- l 1))
"." name "]")))))
(else (let ((*vicinity-suffix*
(case (software-type)
((NOSVE) ".")
((MACOS THINKC) ":")
((MS-DOS WINDOWS ATARIST OS/2) "\\")
((unix COHERENT PLAN9 AMIGA) "/"))))
(lambda (vic name)
(string-append vic name *vicinity-suffix*))))))
(define with-load-pathname
(let ((exchange
(lambda (new)
(let ((old program-vicinity))
(set! program-vicinity new)
old))))
(lambda (path thunk)
(define old #f)
(define vic (pathname->vicinity path))
(dynamic-wind
(lambda () (set! old (exchange (lambda () vic))))
thunk
(lambda () (exchange old))))))
In Addition to this (at least on my suse box), a symlink has to be set
in /usr/share/guile/1.6/slib/mklibkat to
mklibkat.scm in the same directory.
The permissions for file /usr/share/guile/1.6/slibcat have to be set to
read and write for all, instead of -rw-r--r--.
Owner of this file is root:root per default, which i left untouched.
so far,
Rauch Christian
More information about the gnucash-devel
mailing list