This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Problem installing 3.3.2
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: "Jonathan Willcock" <Jonathan at FESoftware dot com>
- Cc: <gcc-help at gcc dot gnu dot org>
- Date: 12 Feb 2004 10:59:39 -0500
- Subject: Re: Problem installing 3.3.2
- References: <009c01c3f160$df295c10$5ab6fea9@FE.local>
"Jonathan Willcock" <Jonathan@FESoftware.com> 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