[Bug 197189] lang/guile2 failure during build of finance/gnucash on FreeBSD 8.4 i386

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Jan 30 00:08:33 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197189

            Bug ID: 197189
           Summary: lang/guile2 failure during build of finance/gnucash on
                    FreeBSD 8.4 i386
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: truckman at FreeBSD.org
                CC: bofh at freebsd.org, gnome at FreeBSD.org
                CC: bofh at freebsd.org, gnome at FreeBSD.org

Created attachment 152360
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=152360&action=edit
script to run guild compile under truss

The finance/gnucash port defaults to using lang/guile, but that conflicts with
one of the other ports that I use, which requires lang/guile2.  To avoid the
conflict, I'm attempting to build gnucash with the GUILE2 option.  This appears
to work on FreeBSD 10.1 amd64, but fails on FreeBSD 8.4 i386.

When building gnucash "guild compile" is executed a number of times, apparently
successfully most of the time, even on FreeBSD 8.4, but it always fails on the
same file on FreeBSD 8.4:

GNC_UNINSTALLED=yes \
GNC_BUILDDIR=../../.. \
GNC_MODULE_PATH="../../../src/app-utils/.libs:../../../src/engine/.libs:${GNC_MODULE_PATH}"
GUILE_LOAD_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_PATH}"
GUILE_LOAD_COMPILED_PATH="../../../src/app-utils:../../../src/core-utils:../../../src/engine:../../../src/gnc-module:../../../src/gnome-utils:../../../src/scm:${GUILE_LOAD_COMPILED_PATH}"
LD_LIBRARY_PATH="../../../src/report/report-gnome/.libs:../../../src/report/report-system/.libs:../../../src/html/.libs:../../../src/backend/sql/.libs:../../../src/backend/xml/.libs:../../../src/gnome-utils/.libs:../../../src/gnc-module/.libs:../../../src/core-utils/.libs:../../../src/app-utils/.libs:../../../src/libqof/qof/.libs:../../../src/engine/.libs:${LD_LIBRARY_PATH}"
DYLD_LIBRARY_PATH="../../../src/report/report-gnome/.libs:../../../src/report/report-system/.libs:../../../src/html/.libs:../../../src/backend/sql/.libs:../../../src/backend/xml/.libs:../../../src/gnome-utils/.libs:../../../src/gnc-module/.libs:../../../src/core-utils/.libs:../../../src/app-utils/.libs:../../../src/libqof/qof/.libs:../../../src/engine/.libs:${DYLD_LIBRARY_PATH}"
 \
/usr/local/bin/guild compile -o report-gnome.go report-gnome.scm
* 09:03:34  WARN <qof.engine> [guid_init()] only got 5814 bytes.
The identifiers might not be very random.
Backtrace:
In /usr/local/bin/guild:
  74: 19 [main ("/usr/local/bin/guild" "compile" "-o" ...)]
In srfi/srfi-1.scm:
 619: 18 [for-each #<procedure 8455880 at scripts/compile.scm:179:14 (file)> #]
In scripts/compile.scm:
 182: 17 [#<procedure 8455880 at scripts/compile.scm:179:14 (file)>
"report-gnome.scm"]
In system/base/target.scm:
  59: 16 [with-target "i386-portbld-freebsd8.4" ...]
In system/base/compile.scm:
 150: 15 [compile-file "report-gnome.scm" #:output-file ...]
  43: 14 [call-once #<procedure 84551a0 at system/base/compile.scm:56:5 ()>]
In ice-9/boot-9.scm:
 171: 13 [with-throw-handler #t ...]
In system/base/compile.scm:
  59: 12 [#<procedure 8455180 at system/base/compile.scm:58:9 ()>]
 153: 11 [#<procedure 84551c0 at system/base/compile.scm:151:8 (port)>
#<closed: file 0>]
 216: 10 [read-and-compile #<input: report-gnome.scm 7> #:from ...]
 232: 9 [lp (# # # # ...) #<directory # 85d99d8> #<directory # 85d99d8>]
 180: 8 [lp (#<procedure compile-tree-il (x e opts)>) (cond-expand # #) ...]
In ice-9/boot-9.scm:
2401: 7 [save-module-excursion #<procedure 88d5b40 at
language/scheme/compile-tree-il.scm:29:3 ()>]
In language/scheme/compile-tree-il.scm:
  31: 6 [#<procedure 88d5b40 at language/scheme/compile-tree-il.scm:29:3 ()>]
In ice-9/psyntax.scm:
1106: 5 [expand-top-sequence ((cond-expand (guile-2 #) (else))) () ...]
 989: 4 [scan ((cond-expand (guile-2 #) (else))) () ...]
 989: 3 [scan (#(syntax-object (eval-when # # ...) (#) ...)) () ...]
 279: 2 [scan (#) () (#) ...]
In unknown file:
   ?: 1 [load-extension "libgncmod-report-gnome"
"scm_init_sw_report_gnome_module"]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 8455160 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
misc-error ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 8455160 at
ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: In procedure dynamic-link: file:
"libgncmod-report-gnome", message: "file not found"
Makefile:1144: recipe for target 'report-gnome.go' failed
gmake[5]: *** [report-gnome.go] Error 1


A search of the work directory shows that libgncmod-report-gnome.so is present.

If use truss to run guild, it shows that guild is successfully accessing
libgncmod-report-gnome.so from the work directory several times, but later on
tries to access it under /usr/local/lib/guile/2.0/extensions/, which fails.

I stated earlier that it "appears" to work correctly on FreeBSD 10, but when
run under truss I see a large number of open() syscalls that have either empty
strings as their path argument, or binary garbage, which suggests that there
may be an internal memory corruption problem.

I have attached a compile script that sets up the environment properly and then
runs guild under truss.  Since this was tested in a poudriere jail, it may be
necessary to change the path to the gnucash work directory.

--- Comment #1 from Bugzilla Automation <bugzilla at FreeBSD.org> ---
Maintainers CC'd

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-gnome mailing list