GNOME Bugzilla – Bug 741924
[Ubuntu 14.10] GnuCash crashes on start: bad header on object file: "GOOF----LE-4-2.0"
Last modified: 2018-06-29 23:36:57 UTC
Hello, after having bug 741810 fixed GnuCash finally compiled. After installing the packages and starting GnuCash it immediately crashes with this error: Backtrace: In ice-9/boot-9.scm: 157: 6 [catch #t #<catch-closure 2f915a0> ...] In unknown file: ?: 5 [apply-smob/1 #<catch-closure 2f915a0>] In ice-9/boot-9.scm: 2789: 4 [#<procedure 2f24320 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...] 3065: 3 [try-module-autoload (gnucash main) #f] 2401: 2 [save-module-excursion #<procedure 321e480 at ice-9/boot-9.scm:3066:17 ()>] 3085: 1 [#<procedure 321e480 at ice-9/boot-9.scm:3066:17 ()>] In unknown file: ?: 0 [primitive-load-path "gnucash/main" ...] ERROR: In procedure primitive-load-path: ERROR: In procedure make_objcode_from_file: bad header on object file: "GOOF----LE-4-2.0" The full build log can be seen here: http://zulu309.server4you.de/build/logs/gnucash_2.6.5-1~getdeb2~utopic-amd64-20141223-2027
Try deleting ~/.cache/guile.
Still crashes: korn@pc:~/Downloads$ rm -rf ~/.cache/guile korn@pc:~/Downloads$ gnucash Backtrace: In ice-9/boot-9.scm: 157: 6 [catch #t #<catch-closure 20c95a0> ...] In unknown file: ?: 5 [apply-smob/1 #<catch-closure 20c95a0>] In ice-9/boot-9.scm: 2789: 4 [#<procedure 205b320 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...] 3065: 3 [try-module-autoload (gnucash main) #f] 2401: 2 [save-module-excursion #<procedure 2357480 at ice-9/boot-9.scm:3066:17 ()>] 3085: 1 [#<procedure 2357480 at ice-9/boot-9.scm:3066:17 ()>] In unknown file: ?: 0 [primitive-load-path "gnucash/main" ...] ERROR: In procedure primitive-load-path: ERROR: In procedure make_objcode_from_file: bad header on object file: "GOOF----LE-4-2.0"
Might you have two versions of Guile installed? Config.log reports Guile 2.0.11, but the folks on the Guile IRC say that that error is from trying to use a compiled guile file with a different version of Guile from the one that compiled it.
I misread your report to say that you'd built on your machine; that's not the case, though, is it? In which case the simplest thing to do is to remove the precompiled scheme files and let Guile build them again the first time you start GnuCash. They're in share/gnucash/scm/ccache, so if the installer put everything in /usr you can sudo rm -rf /usr/share/gnucash/scm/ccache GnuCash will take a bit longer than usual to start up the first time, but once everything is compiled it should work OK.
Another datum: It seems that Guile is picky about bitness. The signature in your error message says LE-4-2.0; the sig in my Debian Jessie go files is LE-8-2.0. 4 and 8 refer to sizeof(long), so it seems that the Guile GnuCash was packaged with was compiled for 32-bits. That's not right for a package labelled amd64.
Ok, so the problem was that the compiled files were not arch-independent and so the gnucash-common was not arch-independent any longer. That's why the i386 files were installed on the amd64 machine because arch-independent packages are only built on i386. Just changed the architecture of gnucash-common to "any" although that is not what a common package is for. But I don't mind about those 5MB extra space. Thanks for the help.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=741924. Please update any external references or bookmarks.