On May 13, 2009, at 15:14, Luke Scharf wrote: > Here is the relevant section of the log: > > configure:4930: enabling thread support > configure:5131: checking for the pthreads library -lpthreads > configure:5169: gcc -o conftest -g -O2 -Wall -Wmissing-prototypes > -Wcast-qual -Wcast-align -Wconversion -Wshadow -pedantic > conftest.c -lpthreads >&5 > In file included from /usr/include/sys/cred.h:49, > from /usr/include/sys/thread.h:43, > from /usr/include/sys/ptrace.h:28, > from /usr/include/sys/proc.h:48, > from /usr/include/sys/pri.h:43, > from /usr/include/sys/sched.h:38, > from /usr/include/sched.h:51, > from /usr/include/pthread.h:64, > from conftest.c:34: > /usr/include/sys/secattr.h:49: error: expected specifier- > qualifier-list before 'rid_t'
This sounds like the configure script found GCC on the system, but GCC can't compile some of the system headers. (Or, maybe certain headers require the prior inclusion of certain other headers that the tests aren't set up to do.) If you want to keep a broken GCC installation on your system, use the CC=... option to configure to force it to use the IBM compiler. The main autoconf code for testing thread compilation options is in src/config/ac-archive/acx_pthread.m4. I'm curious what fails when you try to disable thread support and build it, but if it's just another case of GCC not handling system headers, you might follow that up on a GCC support list. (From my experience with GCC, I'd suggest some things to check for at first: Install location for GCC was changed somehow so it lost track of where to find its "fixed" copy of some system headers that are adjusted to remove constructs that depend on the native compiler. An old GCC installation predates a major OS upgrade that changed system headers in a significant way, leading to inconsistencies. An old version of GCC where the header-fixing script didn't know about some interesting quirks added in the latest OS rev.) Also, make sure you're using a fresh build tree (or a clean source tree, if you're building inside the source tree) when you switch compilers. For performance, the configure script caches some information about the build environment so it doesn't have to be re- checked if the script is run again, but if you've switched compilers that information may be invalid. -- Ken Raeburn / [email protected] / no longer at MIT Kerberos Consortium ________________________________________________ Kerberos mailing list [email protected] https://mailman.mit.edu/mailman/listinfo/kerberos
