Can't find slib?
Jeff Kletsky
gnucash at allycomm.com
Thu Dec 30 15:18:39 EST 2010
Some hints on Slackware at
http://www.linuxquestions.org/questions/slackware-14/gnucash-guile-slib-dont-get-along-848185/
Look in the directory /var/log/scripts for the file starting with
slib. What happens if you run the first line in that file as root on
your machine?
On mine (Slackware64 13.1), that file (slib-3b2-x86_64-2_SBo)
contains...
Code:
#!/bin/sh
guile -q -s /usr/doc/slib-3b2/guile-slibcat.script
( cd usr/lib64/slib ; rm -rf mklibcat )
( cd usr/lib64/slib ; ln -sf mklibcat.scm mklibcat )
( cd usr/share/guile ; rm -rf slib )
( cd usr/share/guile ; ln -sf ../../lib64/slib slib )
( cd usr/share ; rm -rf slib )
( cd usr/share ; ln -sf ../lib64/slib slib )
...and I would want you to run the equivalent of the...
Code:
guile -q -s /usr/doc/slib-3b2/guile-slibcat.script
I haven't found the equivalent on Ubuntu 10.10 yet (or even the
guile-slibcat.script file).
It looks like this kind of thing has been a problem going back as far as
2005, if not earlier http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=328243
The closest I can find under Ubuntu 10.10 is
jeff at fx:/var/lib/dpkg/info$ cat slib.postinst
#!/bin/sh
set -e
# OK. This is bad because it really should be in the guile config or
# in some emacs-common sort of package. Now we conditionally run it.
# one of these probably shouldn't exist, but don't know which and
# probably should support the older.
if [ -x /usr/sbin/guile1.4-slibconfig ] ; then
echo guile1.4-slibconfig
guile1.4-slibconfig
fi
if [ -x /usr/bin/guile-1.6 -a -e /usr/share/guile/1.6/slib ] ; then
rm -f /usr/share/guile/1.6/slibcat
guile-1.6 -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
if [ -e /usr/share/guile/1.6/slibcat ] ; then
chmod 644 /usr/share/guile/1.6/slibcat
fi
fi
if [ -x /usr/bin/scm ] ; then
rm -f /usr/lib/scm/slibcat
scm -c "(require 'new-catalog)"
if [ -e /usr/lib/scm/slibcat ] ; then
chmod 644 /usr/lib/scm/slibcat
fi
fi
Running this as root doesn't help --HOWEVER -- this works
$ *sudo ln -s /usr/share/slib /usr/share/guile/slib* # This symlink
still appears to be needed
$ guile --version
Guile 1.8.7
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008 Free Software Foundation
Guile may be distributed under the terms of the GNU General Public Licence;
certain other uses are permitted as well. For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.
$ guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)" # Have
to be root, apparently
ERROR: In procedure open-file:
ERROR: Permission denied: "/usr/share/guile/1.8/slibcat"
$ *sudo guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"*
$ ls -l /usr/share/guile/1.8/slibcat
-rw-r--r-- 1 root root 8682 2010-12-30 12:09
/usr/share/guile/1.8/slibcat # Already 644, so no chmod needed in this case
$ guile -c "(use-modules (ice-9 slib)) (require 'printf)"
(works)
Jeff
On 12/12/2010 07:46 AM, Donald Allen wrote:
> On Sun, Dec 12, 2010 at 10:27 AM, Derek Atkins<derek at ihtfp.com> wrote:
>
>> On Sat, December 11, 2010 11:32 pm, Donald Allen wrote:
>>>> Normally your distribution would do this for you, but as you're running
>>>> Slackware all bets are off and I'm afraid you're on your own.
>>> If you were
>>>> running Fedora or Ubuntu it would "just work".
>>>>
>>> [...]
More information about the gnucash-devel
mailing list