<HTML>
<HEAD>
<TITLE>[plt-scheme] 4.2.5.7 compilation error under SGI IRIX 6.</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>My log with foreign enabled:<BR>
Some of these errors occur because the compiler does not understand “GCC'isms” such as __attribute__.<BR>
Here <a href="http://forums.nekochan.net/viewtopic.php?f=15&t=16717999">http://forums.nekochan.net/viewtopic.php?f=15&t=16717999</a> people are faced with this when building Python.<BR>
<BR>
<BR>
IRIS 5% setenv MAKE gmake<BR>
IRIS 6% setenv CC "c99 -w"<BR>
IRIS 7% setenv CFLAGS "-O3 -mips4"<BR>
IRIS 8% setenv CXXFLAGS "-O3 -mips4"<BR>
IRIS 9% ../configure --prefix=/usr/people/val/plt-scheme<BR>
checking for gcc... c99 -w<BR>
checking for C compiler default output file name... a.out<BR>
checking whether the C compiler works... yes<BR>
checking whether we are cross compiling... no<BR>
checking for suffix of executables... <BR>
checking for suffix of object files... o<BR>
checking whether we are using the GNU C compiler... no<BR>
checking whether c99 -w accepts -g... yes<BR>
checking for c99 -w option to accept ISO C89... none needed<BR>
checking how to run the C preprocessor... c99 -w -E<BR>
checking for g++... no<BR>
checking for c++... no<BR>
checking for gpp... no<BR>
checking for aCC... no<BR>
checking for CC... CC<BR>
checking whether we are using the GNU C++ compiler... no<BR>
checking whether CC accepts -g... yes<BR>
checking how to run the C++ preprocessor... CC -E<BR>
checking for ranlib... no<BR>
checking for X... libraries , headers <BR>
checking for gethostbyname... yes<BR>
checking for connect... yes<BR>
checking for remove... yes<BR>
checking for shmat... yes<BR>
checking for IceConnectionNumber in -lICE... yes<BR>
checking for cos in -lm... yes<BR>
checking for dlopen in -ldl... yes<BR>
checking for inline keyword... yes<BR>
checking for noinline attribute... yes<BR>
checking for GNU preprocessor... no<BR>
checking for nl_langinfo (CODESET)... yes<BR>
checking for getaddrinfo... yes<BR>
checking for grep that handles long lines and -e... /sbin/grep<BR>
checking for egrep... /sbin/grep -E<BR>
checking for ANSI C header files... yes<BR>
checking for sys/types.h... yes<BR>
checking for sys/stat.h... yes<BR>
checking for stdlib.h... yes<BR>
checking for string.h... yes<BR>
checking for memory.h... yes<BR>
checking for strings.h... yes<BR>
checking for inttypes.h... yes<BR>
checking for stdint.h... yes<BR>
checking for unistd.h... yes<BR>
checking iconv.h usability... yes<BR>
checking iconv.h presence... yes<BR>
checking for iconv.h... yes<BR>
checking iconv is usable... yes<BR>
checking for mbsrtowcs... yes<BR>
checking for char... yes<BR>
checking size of char... 1<BR>
checking for short... yes<BR>
checking size of short... 2<BR>
checking for int... yes<BR>
checking size of int... 4<BR>
checking for long... yes<BR>
checking size of long... 4<BR>
checking for long long... yes<BR>
checking size of long long... 8<BR>
checking for stack direction... down<BR>
checking whether byte ordering is bigendian... yes<BR>
checking whether C++ compiler works... yes<BR>
checking whether new and new[] are different... yes<BR>
checking X11/Xlib.h usability... yes<BR>
checking X11/Xlib.h presence... yes<BR>
checking for X11/Xlib.h... yes<BR>
checking X11/Intrinsic.h usability... yes<BR>
checking X11/Intrinsic.h presence... yes<BR>
checking for X11/Intrinsic.h... yes<BR>
checking for XFlush in -lX11... yes<BR>
checking for XSyncQueryExtension in -lXext... yes<BR>
checking for XtDestroyWidget in -lXt... yes<BR>
checking for XmuInternAtom in -lXmu... yes<BR>
checking for vendorShellClassRec in -lXaw... yes<BR>
checking whether X11/XKBlib.h is available... yes<BR>
checking GL/glx.h usability... yes<BR>
checking GL/glx.h presence... yes<BR>
checking for GL/glx.h... yes<BR>
checking for glXChooseVisual in -lGL... yes<BR>
checking X11/extensions/Xrender.h usability... no<BR>
checking X11/extensions/Xrender.h presence... no<BR>
checking for X11/extensions/Xrender.h... no<BR>
no Xrender headers; Xrender support disabled<BR>
no information from pkg-config; Cairo support disabled<BR>
checking png.h usability... yes<BR>
checking png.h presence... yes<BR>
checking for png.h... yes<BR>
checking for png_read_info in -lpng... yes<BR>
checking jpeglib.h usability... yes<BR>
checking jpeglib.h presence... yes<BR>
checking for jpeglib.h... yes<BR>
checking for jpeg_start_decompress in -ljpeg... yes<BR>
configure: creating ./config.status<BR>
config.status: creating Makefile<BR>
config.status: creating mzscheme/Makefile<BR>
config.status: creating mzscheme/src/Makefile<BR>
config.status: creating mzscheme/dynsrc/Makefile<BR>
config.status: creating mzscheme/gc/Makefile<BR>
config.status: creating mzscheme/sgc/Makefile<BR>
config.status: creating mzscheme/gc2/Makefile<BR>
config.status: creating foreign/Makefile<BR>
config.status: creating mred/Makefile<BR>
config.status: creating mred/wxs/Makefile<BR>
config.status: creating mred/gc2/Makefile<BR>
config.status: creating wxxt/src/Makefile<BR>
config.status: creating wxxt/src/x/Makefile<BR>
config.status: creating wxxt/utils/image/src/Makefile<BR>
config.status: creating wxxt/contrib/xpm/lib/Makefile<BR>
config.status: creating mzscheme/mzconfig.h<BR>
=== configuring in foreign/gcc/libffi (/usr/people/val/plt/src/build/foreign/gcc/libffi)<BR>
configure: running /bin/sh ../../../../foreign/gcc/libffi/configure '--prefix=/usr/people/val/plt-scheme' 'CC=c99 -w' 'CFLAGS=-O3 -mips4' 'CXXFLAGS=-O3 -mips4' '--disable-multilib' --cache-file=/dev/null --srcdir=../../../../foreign/gcc/libffi<BR>
checking build system type... mips-sgi-irix6.5<BR>
checking host system type... mips-sgi-irix6.5<BR>
checking target system type... mips-sgi-irix6.5<BR>
checking for a BSD-compatible install... ../../../../foreign/gcc/libffi/../install-sh -c<BR>
checking whether build environment is sane... yes<BR>
checking for gawk... no<BR>
checking for mawk... no<BR>
checking for nawk... nawk<BR>
checking whether gmake sets $(MAKE)... yes<BR>
checking for gcc... c99 -w<BR>
checking for C compiler default output file name... a.out<BR>
checking whether the C compiler works... yes<BR>
checking whether we are cross compiling... no<BR>
checking for suffix of executables... <BR>
checking for suffix of object files... o<BR>
checking whether we are using the GNU C compiler... no<BR>
checking whether c99 -w accepts -g... yes<BR>
checking for c99 -w option to accept ISO C89... none needed<BR>
checking for style of include used by gmake... GNU<BR>
checking dependency style of c99 -w... sgi<BR>
checking whether c99 -w and cc understand -c and -o together... yes<BR>
checking for a sed that does not truncate output... /sbin/sed<BR>
checking for grep that handles long lines and -e... /sbin/grep<BR>
checking for egrep... /sbin/grep -E<BR>
checking for fgrep... /sbin/grep -F<BR>
checking for non-GNU ld... /usr/bin/ld<BR>
checking if the linker (/usr/bin/ld) is GNU ld... no<BR>
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B<BR>
checking the name lister (/usr/bin/nm -B) interface... BSD nm<BR>
checking whether ln -s works... yes<BR>
checking the maximum length of command line arguments... 15360<BR>
checking whether the shell understands some XSI constructs... yes<BR>
checking whether the shell understands "+="... no<BR>
checking for /usr/bin/ld option to reload object files... -r<BR>
checking how to recognize dependent libraries... pass_all<BR>
checking for ar... ar<BR>
checking for strip... strip<BR>
checking for ranlib... no<BR>
checking command to parse /usr/bin/nm -B output from c99 -w object... ok<BR>
checking how to run the C preprocessor... c99 -w -E<BR>
checking for ANSI C header files... yes<BR>
checking for sys/types.h... yes<BR>
checking for sys/stat.h... yes<BR>
checking for stdlib.h... yes<BR>
checking for string.h... yes<BR>
checking for memory.h... yes<BR>
checking for strings.h... yes<BR>
checking for inttypes.h... yes<BR>
checking for stdint.h... yes<BR>
checking for unistd.h... yes<BR>
checking for dlfcn.h... yes<BR>
checking for objdir... .libs<BR>
checking for c99 -w option to produce PIC... -DPIC<BR>
checking if c99 -w PIC flag -DPIC works... yes<BR>
checking if c99 -w static flag -non_shared works... no<BR>
checking if c99 -w supports -c -o file.o... yes<BR>
checking if c99 -w supports -c -o file.o... (cached) yes<BR>
checking whether the c99 -w linker (/usr/bin/ld -n32) supports shared libraries... yes<BR>
checking dynamic linker characteristics... irix6.5 ld.so<BR>
checking how to hardcode library paths into programs... immediate<BR>
checking whether stripping libraries is possible... no<BR>
checking if libtool supports shared libraries... yes<BR>
checking whether to build shared libraries... yes<BR>
checking whether to build static libraries... yes<BR>
checking whether to enable maintainer-specific portions of Makefiles... no<BR>
checking sys/mman.h usability... yes<BR>
checking sys/mman.h presence... yes<BR>
checking for sys/mman.h... yes<BR>
checking for mmap... yes<BR>
checking for sys/mman.h... (cached) yes<BR>
checking for mmap... (cached) yes<BR>
checking whether read-only mmap of a plain file works... yes<BR>
checking whether mmap from /dev/zero works... yes<BR>
checking for MAP_ANON(YMOUS)... no<BR>
checking for ANSI C header files... (cached) yes<BR>
checking for memcpy... yes<BR>
checking for working alloca.h... yes<BR>
checking for alloca... yes<BR>
checking for double... yes<BR>
checking size of double... 8<BR>
checking for long double... yes<BR>
checking size of long double... 16<BR>
checking whether byte ordering is bigendian... yes<BR>
checking assembler .cfi pseudo-op support... yes<BR>
checking whether .eh_frame section should be read-only... no<BR>
checking for __attribute__((visibility("hidden")))... no<BR>
c99 WARNING: -p is no longer supported, use speedshop(1) instead<BR>
c99 ERROR parsing -print-multi-os-directory: unknown flag<BR>
c99 ERROR: no source or object file given<BR>
configure: creating ./config.status<BR>
config.status: creating include/Makefile<BR>
config.status: creating include/ffi.h<BR>
config.status: creating Makefile<BR>
config.status: creating fficonfig.h<BR>
config.status: linking ../../../../foreign/gcc/libffi/src/mips/ffitarget.h to include/ffitarget.h<BR>
config.status: executing default-1 commands<BR>
config.status: executing depfiles commands<BR>
config.status: executing libtool commands<BR>
config.status: executing include commands<BR>
config.status: executing src commands<BR>
>>> Installation targets:<BR>
executables : ${exec_prefix}/bin/...<BR>
Scheme code : ${exec_prefix}/lib/plt/collects/...<BR>
core docs : ${datarootdir}/plt/doc/...<BR>
C libraries : ${exec_prefix}/lib/...<BR>
C headers : ${prefix}/include/plt/...<BR>
extra C objs : ${exec_prefix}/lib/plt/...<BR>
man pages : ${datarootdir}/man/...<BR>
where prefix = /usr/people/val/plt-scheme<BR>
and datarootdir = ${prefix}/share<BR>
and exec_prefix = ${prefix}<BR>
IRIS 10% make<BR>
.....<BR>
: ../libmzgc.a<BR>
gmake[4]: Leaving directory `/usr/people/val/plt/src/build/mzscheme/gc'<BR>
gmake[3]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake foreign-stuff<BR>
gmake[3]: Entering directory `/usr/people/val/plt/src/build/mzscheme'<BR>
cd ../foreign; gmake all<BR>
gmake[4]: Entering directory `/usr/people/val/plt/src/build/foreign'<BR>
gmake foreign.o<BR>
gmake[5]: Entering directory `/usr/people/val/plt/src/build/foreign'<BR>
c99 -w -O3 -mips4 -I./../mzscheme -I../../foreign/../mzscheme/include -I../../foreign/../mzscheme/src -Igcc/libffi/include -c ../../foreign/foreign.c -o foreign.o<BR>
cc-1065 c99: ERROR File = gcc/libffi/include/ffitarget.h, Line = 140<BR>
A semicolon is expected at this point.<BR>
<BR>
typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));<BR>
^<BR>
<BR>
cc-1065 c99: ERROR File = gcc/libffi/include/ffitarget.h, Line = 141<BR>
A semicolon is expected at this point.<BR>
<BR>
typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));<BR>
^<BR>
<BR>
cc-1065 c99: ERROR File = gcc/libffi/include/ffi.h, Line = 254<BR>
A semicolon is expected at this point.<BR>
<BR>
} ffi_closure __attribute__((aligned (8)));<BR>
^<BR>
<BR>
cc-1070 c99: ERROR File = ../../foreign/foreign.c, Line = 1799<BR>
The indicated type is incomplete.<BR>
<BR>
if (intsize==0 && stars>0) RETSIZE(void);<BR>
^<BR>
<BR>
4 errors detected in the compilation of "../../foreign/foreign.c".<BR>
gmake[5]: *** [foreign.o] Error 2<BR>
gmake[5]: Leaving directory `/usr/people/val/plt/src/build/foreign'<BR>
gmake[4]: *** [all] Error 2<BR>
gmake[4]: Leaving directory `/usr/people/val/plt/src/build/foreign'<BR>
gmake[3]: *** [foreign-stuff] Error 2<BR>
gmake[3]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake[2]: *** [common] Error 2<BR>
gmake[2]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake[1]: *** [cgc] Error 2<BR>
gmake[1]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake: *** [cgc] Error 2<BR>
*** Error code 2 (bu21)<BR>
<BR>
My log with foreign disabled:<BR>
<BR>
IRIS 14% ../configure --prefix=/usr/people/val/plt-scheme --disable-foreign<BR>
=== Foreign disabled<BR>
checking for gcc... c99 -w<BR>
checking for C compiler default output file name... a.out<BR>
checking whether the C compiler works... yes<BR>
checking whether we are cross compiling... no<BR>
checking for suffix of executables... <BR>
checking for suffix of object files... o<BR>
checking whether we are using the GNU C compiler... no<BR>
checking whether c99 -w accepts -g... yes<BR>
checking for c99 -w option to accept ISO C89... none needed<BR>
checking how to run the C preprocessor... c99 -w -E<BR>
checking for g++... no<BR>
checking for c++... no<BR>
checking for gpp... no<BR>
checking for aCC... no<BR>
checking for CC... CC<BR>
checking whether we are using the GNU C++ compiler... no<BR>
checking whether CC accepts -g... yes<BR>
checking how to run the C++ preprocessor... CC -E<BR>
checking for ranlib... no<BR>
checking for X... libraries , headers <BR>
checking for gethostbyname... yes<BR>
checking for connect... yes<BR>
checking for remove... yes<BR>
checking for shmat... yes<BR>
checking for IceConnectionNumber in -lICE... yes<BR>
checking for cos in -lm... yes<BR>
checking for dlopen in -ldl... yes<BR>
checking for inline keyword... yes<BR>
checking for noinline attribute... yes<BR>
checking for GNU preprocessor... no<BR>
checking for nl_langinfo (CODESET)... yes<BR>
checking for getaddrinfo... yes<BR>
checking for grep that handles long lines and -e... /sbin/grep<BR>
checking for egrep... /sbin/grep -E<BR>
checking for ANSI C header files... yes<BR>
checking for sys/types.h... yes<BR>
checking for sys/stat.h... yes<BR>
checking for stdlib.h... yes<BR>
checking for string.h... yes<BR>
checking for memory.h... yes<BR>
checking for strings.h... yes<BR>
checking for inttypes.h... yes<BR>
checking for stdint.h... yes<BR>
checking for unistd.h... yes<BR>
checking iconv.h usability... yes<BR>
checking iconv.h presence... yes<BR>
checking for iconv.h... yes<BR>
checking iconv is usable... yes<BR>
checking for mbsrtowcs... yes<BR>
checking for char... yes<BR>
checking size of char... 1<BR>
checking for short... yes<BR>
checking size of short... 2<BR>
checking for int... yes<BR>
checking size of int... 4<BR>
checking for long... yes<BR>
checking size of long... 4<BR>
checking for long long... yes<BR>
checking size of long long... 8<BR>
checking for stack direction... down<BR>
checking whether byte ordering is bigendian... yes<BR>
checking whether C++ compiler works... yes<BR>
checking whether new and new[] are different... yes<BR>
checking X11/Xlib.h usability... yes<BR>
checking X11/Xlib.h presence... yes<BR>
checking for X11/Xlib.h... yes<BR>
checking X11/Intrinsic.h usability... yes<BR>
checking X11/Intrinsic.h presence... yes<BR>
checking for X11/Intrinsic.h... yes<BR>
checking for XFlush in -lX11... yes<BR>
checking for XSyncQueryExtension in -lXext... yes<BR>
checking for XtDestroyWidget in -lXt... yes<BR>
checking for XmuInternAtom in -lXmu... yes<BR>
checking for vendorShellClassRec in -lXaw... yes<BR>
checking whether X11/XKBlib.h is available... yes<BR>
checking GL/glx.h usability... yes<BR>
checking GL/glx.h presence... yes<BR>
checking for GL/glx.h... yes<BR>
checking for glXChooseVisual in -lGL... yes<BR>
checking X11/extensions/Xrender.h usability... no<BR>
checking X11/extensions/Xrender.h presence... no<BR>
checking for X11/extensions/Xrender.h... no<BR>
no Xrender headers; Xrender support disabled<BR>
no information from pkg-config; Cairo support disabled<BR>
checking png.h usability... yes<BR>
checking png.h presence... yes<BR>
checking for png.h... yes<BR>
checking for png_read_info in -lpng... yes<BR>
checking jpeglib.h usability... yes<BR>
checking jpeglib.h presence... yes<BR>
checking for jpeglib.h... yes<BR>
checking for jpeg_start_decompress in -ljpeg... yes<BR>
configure: creating ./config.status<BR>
config.status: creating Makefile<BR>
config.status: creating mzscheme/Makefile<BR>
config.status: creating mzscheme/src/Makefile<BR>
config.status: creating mzscheme/dynsrc/Makefile<BR>
config.status: creating mzscheme/gc/Makefile<BR>
config.status: creating mzscheme/sgc/Makefile<BR>
config.status: creating mzscheme/gc2/Makefile<BR>
config.status: creating mred/Makefile<BR>
config.status: creating mred/wxs/Makefile<BR>
config.status: creating mred/gc2/Makefile<BR>
config.status: creating wxxt/src/Makefile<BR>
config.status: creating wxxt/src/x/Makefile<BR>
config.status: creating wxxt/utils/image/src/Makefile<BR>
config.status: creating wxxt/contrib/xpm/lib/Makefile<BR>
config.status: creating mzscheme/mzconfig.h<BR>
config.status: mzscheme/mzconfig.h is unchanged<BR>
>>> Installation targets:<BR>
executables : ${exec_prefix}/bin/...<BR>
Scheme code : ${exec_prefix}/lib/plt/collects/...<BR>
core docs : ${datarootdir}/plt/doc/...<BR>
C libraries : ${exec_prefix}/lib/...<BR>
C headers : ${prefix}/include/plt/...<BR>
extra C objs : ${exec_prefix}/lib/plt/...<BR>
man pages : ${datarootdir}/man/...<BR>
where prefix = /usr/people/val/plt-scheme<BR>
and datarootdir = ${prefix}/share<BR>
and exec_prefix = ${prefix}<BR>
IRIS 15% make<BR>
......<BR>
gmake[4]: Entering directory `/usr/people/val/plt/src/build/mzscheme/src'<BR>
c99 -w -I./.. -I../../../mzscheme/src/../include -O3 -mips4 -DDONT_USE_FOREIGN -c ../../../mzscheme/src/salloc.c -o salloc.o<BR>
cc-1117 c99: ERROR File = ../../../mzscheme/src/salloc.c, Line = 382<BR>
An expression appears after a "return" in a "void" function.<BR>
<BR>
return scheme_init_os_thread_like(NULL);<BR>
^<BR>
<BR>
1 error detected in the compilation of "../../../mzscheme/src/salloc.c".<BR>
gmake[4]: *** [salloc.o] Error 2<BR>
gmake[4]: Leaving directory `/usr/people/val/plt/src/build/mzscheme/src'<BR>
gmake[3]: *** [all] Error 2<BR>
gmake[3]: Leaving directory `/usr/people/val/plt/src/build/mzscheme/src'<BR>
gmake[2]: *** [mzlibrary] Error 2<BR>
gmake[2]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake[1]: *** [cgc] Error 2<BR>
gmake[1]: Leaving directory `/usr/people/val/plt/src/build/mzscheme'<BR>
gmake: *** [cgc] Error 2<BR>
*** Error code 2 (bu21)<BR>
IRIS 16% <BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
</SPAN></FONT>
</BODY>
</HTML>