Subject: Re: bug#11083: guile-2.0.5 bug report

From: Kiyoshi KANAZAWA <[email-masked]>
Date: Mon, 2 Apr 2012 21:02:26 +0900 (JST)

Hi, Mark,

I analysed the problems.
(1) Why can not link libguile-2.0.so.22
LD_LIBRARY_PATH_64 is not set correctly.
I changed  "LD_LIBRARY_PATH" to "LD_LIBRARY_PATH_64" in all the files in guile-2.0.5, and found libguile-2.0.so.22 can be linked.

(2) About Segmentation Fault
This seems to be  same to
<http://lists.gnu.org/archive/html/bug-guile/2011-03/msg00111.html>.
I do not know why it occurs only with -m64 option.
(I have no problem with -m32).

Regards,

--- Kiyoshi <[email-masked]>

--- On Fri, 2012/3/30, Kiyoshi KANAZAWA <[email-masked]> wrote:

> Hi, Mark,
> 
> Thank you for your kindness.
> 
> I'm discussing with a member of gc project these 5 days.
> He also told me to configure with "--enable-threads=posix" instead of -DGC_THREADS.
> 
> And I'm also testing the latest gc-7.2 candidate and gc-7.3 (developement) candidate.
> 
> 
> Now, I'm retrying to build guile-2.0.5 again.
> Make & make check pass with gcc-3.4.3 -m32, but make fail with -m64.
> Message of make check is:as follows.
> (libguile-2.0.so.22 is "ELF 64-bit LSB executable", so that it can be linked.)
> 
> make  all-am
> make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
>   GEN    guile-procedures.texi
> ld.so.1: guile: fatal: libguile-2.0.so.22: open failed: No such file or directory
> /bin/bash: line 1: 23126 Broken Pipe             cat alist.doc arbiters.doc array-handle.doc array-map.doc arrays.doc async.doc backtrace.doc boolean.doc bitvectors.doc bytevectors.doc chars.doc control.doc continuations.doc debug.doc deprecated.doc deprecation.doc dynl.doc dynwind.doc eq.doc error.doc eval.doc evalext.doc expand.doc extensions.doc feature.doc filesys.doc fluids.doc foreign.doc fports.doc gc-malloc.doc gc.doc gettext.doc generalized-arrays.doc generalized-vectors.doc goops.doc gsubr.doc guardians.doc hash.doc hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc list.doc load.doc macros.doc mallocs.doc memoize.doc modules.doc numbers.doc objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc promises.doc r6rs-ports.doc random.doc rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc srfi-1.doc srfi-4.doc srfi-13.doc srfi-14.doc srfi-60.doc stackchk.doc
>  stacks.doc stime.doc strings.doc strorder.doc strports.doc struct.doc symbols.doc threads.doc throw.doc trees.doc uniform.doc values.doc variable.doc vectors.doc version.doc vports.doc weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc
>      23127 Killed                  | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
> make[3]: *** [guile-procedures.texi] Error 1
> 
> Regards,
> 
> --- Kiyoshi <[email-masked]>
> 
> --- On Thu, 2012/3/29, Mark H Weaver <[email-masked]> wrote:
> 
> > Kiyoshi KANAZAWA <[email-masked]> writes:
> > > Thank you Mark,
> > > Sending this again with Cc:
> > >
> > > (1) Now, make succeeds with threads
> > > Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
> > > After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
> > > make succeeds.
> > 
> > This is not my area of expertise, but for lack of other suggestions, I
> > have two ideas:
> > 
> > 1. You could try recompiling libgc using POSIX threads instead of
> >    Solaris threads, and then rebuilding Guile from scratch, starting
> >    with configure, and linking against the new libgc.
> > 
> >    Guile supports only POSIX threads, and I wouldn't be surprised if
> >    there are problems associated with linking Guile against a libgc that
> >    uses a different threading library with slightly different semantics.
> > 
> > 2. You could try a newer version of libgc: 7.2alpha6, from
> >    http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz
> > 
> >    Despite the scary version number, Hans Boehm himself now recommends
> >    this version because 7.1 is so old (see "Where to get the collector"
> >    at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
> > 
> >     Thanks,
> >       Mark
> > 
> > 
> > > (2) Segmentation Fault occur in make check
> > > Still encounterd FAILS as follows:
> > > make  check-TESTS
> > > make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
> > > Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
> > > /bin/bash: line 5: 11634 Abort                   srcdir="." builddir="." CHARSETALIASDIR
> > > ="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
> > > FAIL: test-system-cmds
> > >   :
> > > PASS: test-extensions
> > > /bin/bash: line 5: 12409 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
> > > ="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
> > > FAIL: test-with-guile-module
> > > PASS: test-scm-with-guile
> > > /bin/bash: line 5: 12455 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
> > > ="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
> > > FAIL: test-scm-spawn-thread
> > > /bin/bash: line 5: 12479 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
> > > ="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
> > > FAIL: test-pthread-create
> > > SKIP: test-pthread-create-secondary
> > > ==================================
> > > 4 of 27 tests failed
> > > (1 test was not run)
> > > Please report to [email-masked]
> > > ==================================
> >
>