Can't build OpenOffice because gcc 3.2.3 from FBSD ports wont build

Roland Hammerle rjh at who.net
Sun Jan 2 03:41:44 PST 2005


Stefan Sonnenberg-Carstens wrote:
Here's the error out :

/bin/sh .././..//gcc-3.2.3/gcc/mkconfig.sh tconfig.h
./xgcc -B./ -B/usr/local/i386-portbld-freebsd4.8/bin/
-isystem /usr/local/i386-portbld-freebsd4.8/include
-isystem /usr/local/i386-portbld-freebsd4.8/sys-include -O2 -DIN_GCC    -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-isystem ./include  -I. -I. -I.././..//gcc-3.2.3/gcc
-I.././..//gcc-3.2.3/gcc/. -I.././..//gcc-3.2.3/gcc/config
-I.././..//gcc-3.2.3/gcc/../include  -g0 -finhibit-size-directive
-fno-inline-functions -fno-exceptions  \
   -c .././..//gcc-3.2.3/gcc/crtstuff.c -DCRT_BEGIN \
  -o crtbegin.o
In file included from ../../gcc-3.2.3/gcc/tsystem.h:37,
                 from ../../gcc-3.2.3/gcc/crtstuff.c:62:
include/stddef.h:57:26: machine/ansi.h: No such file or directory
In file included from ../../gcc-3.2.3/gcc/tsystem.h:87,
                 from ../../gcc-3.2.3/gcc/crtstuff.c:62:
/usr/include/time.h:130: syntax error before ',' token
gmake[2]: *** [crtbegin.o] Error 1
gmake[2]: Leaving directory `/usr/ports/lang/gcc32/work/build/gcc'
gmake[1]: *** [stage1_build] Error 2
gmake[1]: Leaving directory `/usr/ports/lang/gcc32/work/build/gcc'
gmake: *** [bootstrap] Error 2
*** Error code 2
Stop in /usr/ports/lang/gcc32.

any ideas ?

The following quick patch solved the building problem of gcc 3.2.3. It 
compiled and installed without problems. I only tested a bit and could 
compile a simple C test program with it. So it should work.

Simply dump this into a new file in /usr/ports/lang/gcc32/files.

--- gcc/ginclude/stddef.h.orig  2003-01-28 13:41:52.000000000 +0100
+++ gcc/ginclude/stddef.h       2005-01-02 12:31:30.000000000 +0100
@@ -51,15 +51,8 @@
 /* This avoids lossage on SunOS but only if stdtypes.h comes first.
    There's no way to win with the other order!  Sun lossage.  */
-/* On 4.3bsd-net2, make sure ansi.h is included, so we have
-   one less case to deal with in the following.  */
-#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined 
(__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
-#include <machine/ansi.h>
-#endif
-/* On FreeBSD 5, machine/ansi.h does not exist anymore... */
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-#include <sys/_types.h>
-#endif
+/* On DragonFlyBSD, machine/ansi.h does not exist anymore, so include 
sys/types.h */
+#include <sys/types.h>

 /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
    defined if the corresponding type is *not* defined.




More information about the Users mailing list