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

From: Mark H Weaver <[email-masked]>
Date: Sat, 24 Mar 2012 18:20:37 -0400

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