Subject: Re: bug#19233: Errors building guile on Armv7

From: John Darrington <[email-masked]>
Date: Sun, 7 Dec 2014 09:24:20 +0100

On Sun, Dec 07, 2014 at 12:24:42AM -0500, Mark H Weaver wrote:
     John Darrington <[email-masked]> writes:
     
     > I downloaded the snapshot from http://hydra.nixos.org/build/17611516
     >
     > and ran into the following problems:
     >
     > My system does not have a libc with threading, so I configured guile and
     > dependencies with --without-threads (or --disable-threads as appropriate).
     >
     >
     > I get the following error:
     >
     >
     > Throw without catch before boot:
     >
     > Error while printing exception:
     
     [...]
     
     > gdb suggests that the problem is that iconv fails and sets the error
     > message: "Cannot find thread-local variables on this target"
     
     That error comes from GDB while trying to access 'errno', which is a
     thread-local variable.  We still don't know the value of 'errno'.
     
     As a temporary hack, you could replace the call to 'scm_encoding_error'
     at strings.c:2106 with a call to 'printf' that prints out the value of
     'errno'.
     
     I guess that both iconv and gdb are somewhat broken on your system.

You are right.  I was linking to the wrong libiconv

I think however, that your suggested work-around or something similar could do with
pushing to the master:   There is a circular dependency here: If iconv_open fails, guile
tries to report the error using scm_locale_string which itself calls iconv_open ...

J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.