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

j...@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<de...@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".

[...]
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to