This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

trying to build glibc without threads -- the detailed errors


  (sorry if this resembles an earlier post -- i'm trying to make this
one as detailed as possible.)

using my own, minimal mini-crosstool script to try to build a
toolchain with these parts:

HEADERS_VERSION=2.6.12.0
BINUTILS_VERSION=2.16.1
GLIBC_VERSION=20051024
GCC_VERSION=4.1-20051022

*without* selecting any type of thread support.  so it's not
surprising that, in the output, i get asked a couple of times:

*** WARNING: Are you sure you do not want to use the `nptl'
*** add-on?

yes, yes, i'm sure.  get on with it.  until, trying to build glibc:

===================================================================

In file included from ../sysdeps/unix/sysv/linux/fatal-prepare.h:19,
                 from assert.c:43:
../include/pthread.h:1:26: error: pthread.h: No such file or directory
assert.c: In function '__assert_fail':
assert.c:54: error: 'pthread_setcancelstate' undeclared (first use in
this function)
assert.c:54: error: (Each undeclared identifier is reported only once
assert.c:54: error: for each function it appears in.)
assert.c:54: warning: implicit declaration of function
'pthread_setcancelstate'
assert.c:54: error: 'PTHREAD_CANCEL_DISABLE' undeclared (first use in
this function)
make[2]: ***
[/home/rpjday/results/edge/build-tools/build-gcc-core/assert/assert.o]
Error 1
make[2]: Leaving directory
`/home/rpjday/results/edge/build-tools/glibc-20051024/assert'make[1]:
*** [assert/subdir_lib] Error 2
make[1]: Leaving directory
`/home/rpjday/results/edge/build-tools/glibc-20051024'

===================================================================

  obviously, errors related to not having selected some thread
support, no?  in particular, look at the error message about the
missing pthread.h.

  in the first place, if i don't want thread support, why is the build
even trying to include a thread-related header file?

  also, if you examine the source tree for glibc, there
are two "pthread.h" files:

	./include/pthread.h
	./nptl/sysdeps/pthread/pthread.h

that first one, which is the one being included successfully,
contains:

	#include_next <pthread.h>

you'd think that the preprocessor would then find the one under "nptl"
but the list of include libraries doesn't include that directory, so
the #include_next fails (not surprisingly).

  in short, it appears that, even if i try not to include thread
support, the build is definitely going to try to pull in some
thread-related files and the build will fail.

  thoughts?

rday


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]