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

From: Kiyoshi KANAZAWA <[email-masked]>
Date: Sun, 25 Mar 2012 22:34:36 +0900 (JST)

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.

(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]
==================================

First one seems to be related with thread, and the rest may be related whth (3).

(3) LANG  environment
Yes, "% guile --version" goes well, with LANG="ja_JP.eucJP"

I'll wait for Guile 2.0.6 release, thank you.

--- Kiyoshi <[email-masked]>

--- On Sun, 2012/3/25, Mark H Weaver <[email-masked]> wrote:

> Kiyoshi KANAZAWA <[email-masked]> writes:
> 
> > I'm trying to install guile-2.0.5 on Solaris 10 x86-64 system.
> > I have some problems.
> >
> > (1) make fails with threads
> > make fails with configure CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
> > make stops with messages as:
> > make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
> >   CCLD   guile
> > Undefined                       first referenced
> >  symbol                             in file
> > GC_unregister_my_thread             ./.libs/libguile-2.0.so
> > GC_register_my_thread               ./.libs/libguile-2.0.so
> > GC_pthread_create                   ./.libs/libguile-2.0.so
> > GC_pthread_detach                   ./.libs/libguile-2.0.so
> > ld: fatal: symbol referencing errors. No output written to .libs/guile
> > collect2: ld returned 1 exit status
> >
> > libgc.a, libgc.la, libgc.so, libgc.so.1, libgc.so.1.0.3 can be found on /usr/local/GNU/lib.
> 
> What version of libgc is installed?  Was it built with POSIX thread
> support?  On my GNU/Linux system, libgc's configure script output the
> following lines:
> 
>   checking for thread model used by GCC... posix
>   checking for pthread_self in -lpthread... yes
> 
> Do you see anything like that in your libgc configure output?
> 
> > (2) make passes with --without-threads but Segmentation Fault occur in make check
> > make succeeds with configure --without-threads CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
> > But, make check failes as:
> > Testing /tmp/guile-2.0.5/meta/guile ...
> > with GUILE_LOAD_PATH=/tmp/guile-2.0.5/test-suite
> > /bin/bash: line 5: 29264 Segmentation Fault      CHARSETALIASDIR="/tmp/guile-2.0.5/lib" 
> > ${dir}$tst
> > FAIL: check-guile
> 
> Hmm, I'm not sure what's happening here.  I wonder if it's related to
> the locale bug (see below).
> 
> > (3) guile does not go correctly if LANG is not C
> > Installed guile ignoring the result of make check, and ran guile --version with some LANG environment.
> 
> This is a known bug, fixed in 5de0053178b4acc793ae62838175e5f3ab56c603.
> The fix will be in Guile 2.0.6.
> 
> To work around this problem, use only locale identifiers with an
> explicit character set, such as "ja_JP.eucJP".  The bug only affects
> locale identifiers without the character set suffix.
> 
>    Thanks,
>      Mark
>