"Jonathan Willcock" <Jonathan@xxxxxxxxxxxxxx> writes: > make eventually stops with the following error: > > In file included from tconfig.h:23, > from libgcc2.c:36: > config/i386/linux.h:233:26: sys/ucontext.h: No such file or directory > make[2]: *** [libgcc/./_muldi3.o] Error 1 > make[2]: Leaving directory '/home/jw/gcc-3.3.2/gcc' > make[1]: *** [libgcc.a] Error 2 > make[2]: Leaving directory '/home/jw/gcc-3.3.2/gcc' > make: *** [all-gcc] Error 2 > > As background info: > > My kernel is Linux 2.2.16. > > ucontext.h is in /usr/src/linux-2.2.16/linux/include/asm-i386 (amongst > others). > > Do I need to copy this elsewhere? I could not find a sys directory. > > I am trying to do this because gettext does not compile. I need to > recompile gettext, because glib does not compile. I need glib because gtk > does not .. I need gtk because netscape ... . "... She swallowed the > spider to catch the fly, I don't why she swallowed the fly. Perhaps she'll > die." Which version of glibc do you have? The current sources have this patch which is not in 3.3: Index: linux.h =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/i386/linux.h,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- linux.h 7 Jun 2003 17:11:45 -0000 1.47 +++ linux.h 19 Jun 2003 04:46:29 -0000 1.48 @@ -234,7 +234,7 @@ signal-turned-exceptions for them. There's also no configure-run for the target, so we can't check on (e.g.) HAVE_SYS_UCONTEXT_H. Using the target libc1 macro should be enough. */ -#ifndef USE_GNULIBC_1 +#if !(defined (USE_GNULIBC_1) || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)) #include <signal.h> #include <sys/ucontext.h> Perhaps that will make a difference for you. For that matter, it won't really hurt to just make that line `#if 0'. It's there to let the compiler unwind the stack through a signal call. That means it is only useful for C++/Java code in which a signal handler throws an exception. You don't need it otherwise. Ian