cross sparc64 chapter 5 glibc tls required error with 20050930 version of book

Bryan Kadzban bryan at
Sat Oct 1 05:22:32 PDT 2005

I'll preface this with a comment that I know very little about the
cross-lfs book, or cross building in general.  However:

Frans Verstegen wrote:
> Then make aborts with
>   In file included from include/tls.h:6,
>                    from <stdin>:1:
>   nptl/sysdeps/sparc/tls.h:59:3: error: #error "TLS support is
> required."
>   make[1]: *** [/mnt/LFS-6/build/glibc-build/Versions.v.i] Error 1
>   make[1]: Leaving directory `/mnt/LFS-6/build/glibc-20050926'
>   make: *** [all] Error 2

This is an error that a header file generated on its own, with an:

#error "TLS support is required"

statement.  Because it ran into that statement, the C preprocessor gave
that error message and died.

> The reason seems to be that the crt1.o file is not found by the linker
> while running the test fragment.

No, you're not even getting to the point where the linker is running, so
crt1.o has nothing to do with it.  I'll download that glibc snapshot and
see if I can figure out why this #error line is getting generated.

OK, if you look at lines 58 through 60 in nptl/sysdeps/sparc/tls.h,
you'll see this:

# error "TLS support is required."

which is where your error is coming from.  For some reason,
HAVE_TLS_SUPPORT is not defined.  And now that I reread the configure
output, I'd bet that it's because of this:

  checking for sparc64 TLS support... no

What's in config.log right after the "checking for sparc64 TLS support"
message?  It seems to generate an assembly-language file, then try to
assemble (and link?) it -- this is probably generating some kind of
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the lfs-dev mailing list