guile 1.8 install breaks gnucash

Bug #341216 reported by Richard Foote
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gnucash (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: gnucash

gnucash 2.2.6 runs fine until gnome-games installs which adds guile 1.8 gnucash no longer works. tried 2.2.8 from launchpad but still no joy.

I'm running 8.10 under wubi

messsages in console:

gnucash
gnc.bin-Message: main: bin relocation support was disabled at relocation time.

ERROR: Unbound Variable: make-mutex

$

uninstall of gone-games and all is well.

order is not important

Revision history for this message
Saivann Carignan (oxmosys) wrote :

Are you really sure that it is related to gnome-games? Because gnome-games only depends on guile-1.8-libs which is already installed by default in ubuntu 8.10 (but does not prevent guile-1.6-libs to be installed and used by gnucash). I also tried to install guile-1.8 on jaunty and it did not prevent gnucash from starting successfully.

Changed in gnucash:
status: New → Incomplete
Revision history for this message
Richard Foote (altlogin) wrote :

It seems to have something to do with what gnome games does with guile.

very interesting. If I do a COMPLETE removal of gnome-games gnucash runs.

If I reinstall gnome-games, it fails as above.

if I do a simple removal of gnome-games, gnucash fails as above.
If I then remove guile 1.8 gnucash works again.

then i reinstalled guile1.8 - same error

then removed guile 1.8 gnucash is working

So I guess it is guile 1.8 somehow messing up, not the gamez pkg at all.

Thanks for your question.

Revision history for this message
Saivann Carignan (oxmosys) wrote :

Mmh, I'm not sure exactly what to ask. Conflicts with guile-1.8 make sense since gnucash is not compatible with it, however gnucash is not built using guile-1.8 and therefore it only use guile-1.6 so guile.1-8 seems to break something here.. At the same time, this is not reproducible 100% of the time as I can install guile-1.8 myself and the bug does not appear on my own machine.

Revision history for this message
Richard Foote (altlogin) wrote :

Saivann,

Thanks for your help, your questions pointed me in the right direction.

 I solved this by running from the command line as follows:

set GUILE_LOAD_PATH="/usr/share/guile/1.6"
export GUILE_LOAD_PATH
gnucash

All worked just fine. Now I can play and work!

Revision history for this message
Saivann Carignan (oxmosys) wrote :

Now that's interesting! Thanks for pointing that useful information. Do you have any clue about what changed the GUILE_LOAD_PATH environment variable? Or did you change it manually in the past?

Revision history for this message
Richard Foote (altlogin) wrote :

I never set it before, when I start up a new terminal window and type echo $GUILE_LOAD_PATH is blank, and I get the make-mutex error.

The gnucash script in /usr/bin/gnucash seems to rely on an already set GUILE_LOAD_PATH, it concats some local gnucash directoryies to it.

My guess is that somewhere guile 1.8 install sets some links to that path. I don't really know how to find where that might be happening, i suppose looking through the guile1.8 package would be a place to start.

Richard

Revision history for this message
Saivann Carignan (oxmosys) wrote :

I really don't know what is causing that issue. I tried to install guile 1.8 before installing gnucash (and guile 1.6) to make sure that guile 1.8 was configured as the default one, and gnucash started perfectly on ubuntu 9.04 jaunty. I would have expected gnucash to fail on that situation.. but it didn't! Even when "sudo update-alternatives --config guile" explicitly shows that guile 1.8 is the one that ubuntu uses by default.

Revision history for this message
Micha Lenk (micha) wrote :

Probably Gnucash should switch entirely to Guile 1.8, but this requires some changes:

It is possible to build Gnucash against Guile 1.8 with following changes to the gnucash package:
1.) Change build-dep on guile-1.6-dev to guile-1.8-dev
2.) Drop build-dep on guile-1.8-slib because it's not available (see comment below)
3.) Drop dependency on guile-1.6-slib from package gnucash
    (should be guile-1.8-slib, but that is not available, see comment below)
4a) ship a symbolic link /usr/share/guile/1.8/ pointing to ../../slib
4b) run the following command from postinst script:
    guile-1.8 -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
4c) remove the symbolic links created by the postinst script in prerm script:
    rm -f /usr/share/guile/1.8/slib
    rm -f /usr/share/guile/1.8/slibcat
5.) Remove GUILE=/usr/bin/guile-1.6 from build environment
    (otherwise fails to build if guile-1.6 isn't installed)

A cleaner solution for steps 2 to 4 would be to provide a proper package guile-1.8-slib (see Debian bug http://bugs.debian.org/441110) which is doing these steps.

Revision history for this message
Pau Ruŀlan Ferragut (paurullan) wrote :

I do not know how to express this in terms of bug-rating but not having a real gnucash for lucid is very bad: my home economy needs it!

Revision history for this message
Zaur Nasibov (basicwolf) wrote :

Looks like almost the same here:

Trying to install gnucash, apt returns:

The following packages have unmet dependencies:
  gnucash: Depends: slib (>= 3a2-5) but it is not installable
           Depends: guile-1.6-slib but it is not going to be installed

Revision history for this message
Zaur Nasibov (basicwolf) wrote :

P.S. it happens on Lucid Beta 1 with all updates installed.

Revision history for this message
Abel Cheung (abelcheung) wrote :

Replying to comment #8:

Indeed the procedure works, even for now. I have just rebuilt slib + gnucash with changes you described (also in gnucash wiki too), and is happily using gnucash now without any apparent problem.

BTW, creating a whole package just for the purpose of including a symlink looks like an over-engineered solution. The slim way is to create a trigger either in guile-1.8 or slib, so that a symlink is created upon installation and the other package is found to be installed as well.

Revision history for this message
Micha Lenk (micha) wrote :

With gnucash 1:2.4.7-1 in Ubuntu this should be fixed now. This version already switched from guile 1.6 to guile 1.8. And several glitches have been found and fixed during that transition. Possibly related Debian bugs:

http://bugs.debian.org/624468
http://bugs.debian.org/630096

I believe that this issue is fixed now, so I've marked this bug as 'Fix Released'.

Changed in gnucash (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.