I grabbed the latest version of SBCL via CVS and started the build process with the following command:

  sh make.sh 'sbcl --userinit /dev/null --sysinit /dev/null'

The process failed while trying to build the runtime.  The relevant output is given at the end of this message.

It claims to have a parse error and I took a look at the file (x86-darwin-os.c) and could find no evidence of such a problem: it seemed like perfectly legal C to me.  (It has been a while since I've done any serious C programming, mind you.)

I'm using gcc 4.0.1 (i686-apple-darwin8-gcc-4.0.1) and GNU make 3.80.  They are both found in /usr/bin.  (I don't have any other versions installed.)

Do I have the incorrect tool chain, perhaps?



//entering make-target-1.sh
//building runtime system and symbol table file
rm -f *.[do] sbcl sbcl.nm sbcl.h core *.tmp
# the depend file is obsolete
rm -f depend
echo '#include "genesis/config.h"' >sbcl.h
echo '#include "genesis/constants.h"' >>sbcl.h
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o alloc.o alloc.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o backtrace.o backtrace.c
backtrace.c: In function 'altstack_pointer_p':
backtrace.c:293: warning: comparison of distinct pointer types lacks a cast
backtrace.c:293: warning: comparison of distinct pointer types lacks a cast
backtrace.c: In function 'backtrace':
backtrace.c:581: warning: unused variable 'i'
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o breakpoint.o breakpoint.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o coreparse.o coreparse.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o dynbind.o dynbind.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o funcall.o funcall.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o gc-common.o gc-common.c
gc-common.c: In function 'maybe_gc':
gc-common.c:2472: warning: implicit declaration of function 'check_gc_signals_unblocked_or_lose'
gc-common.c:2475: warning: implicit declaration of function 'unblock_gc_signals'
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o globals.o globals.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o interr.o interr.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o interrupt.o interrupt.c
interrupt.c: In function 'arrange_return_to_lisp_function':
interrupt.c:917: warning: assignment makes integer from pointer without a cast
interrupt.c:918: warning: assignment makes integer from pointer without a cast
interrupt.c:890: warning: unused variable 'sp'
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o largefile.o largefile.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o monitor.o monitor.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o os-common.o os-common.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o parse.o parse.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o print.o print.c
print.c:353: warning: 'print_unknown' defined but not used
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o purify.o purify.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o pthread-futex.o pthread-futex.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o pthread-lutex.o pthread-lutex.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o regnames.o regnames.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o run-program.o run-program.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o runtime.o runtime.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o save.o save.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o search.o search.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o thread.o thread.c
thread.c: In function 'create_initial_thread':
thread.c:493: warning: unused variable 'ret'
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o time.o time.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o util.o util.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o validate.o validate.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o vars.o vars.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o wrap.o wrap.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o x86-arch.o x86-arch.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o bsd-os.o bsd-os.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o x86-bsd-os.o x86-bsd-os.c
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o darwin-os.o darwin-os.c
darwin-os.c: In function 'os_get_runtime_executable_path':
darwin-os.c:33: warning: passing argument 2 of '_NSGetExecutablePath' from incompatible pointer type
gcc -g -Wall -O2 -fdollars-in-identifiers -I. -no-cpp-precomp  -c -o x86-darwin-os.o x86-darwin-os.c
x86-darwin-os.c:134: error: parse error before 'x86_thread_state32_t'
x86-darwin-os.c: In function 'build_fake_signal_context':
x86-darwin-os.c:136: error: 'context' undeclared (first use in this function)
x86-darwin-os.c:136: error: (Each undeclared identifier is reported only once
x86-darwin-os.c:136: error: for each function it appears in.)
x86-darwin-os.c:137: error: 'thread_state' undeclared (first use in this function)
x86-darwin-os.c:138: error: 'float_state' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:143: error: parse error before '*' token
x86-darwin-os.c: In function 'update_thread_state_from_context':
x86-darwin-os.c:146: error: 'thread_state' undeclared (first use in this function)
x86-darwin-os.c:146: error: 'context' undeclared (first use in this function)
x86-darwin-os.c:147: error: 'float_state' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:152: error: parse error before 'x86_thread_state32_t'
x86-darwin-os.c: In function 'push_context':
x86-darwin-os.c:156: error: 'context' undeclared (first use in this function)
x86-darwin-os.c:157: error: 'data' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:161: error: parse error before '*' token
x86-darwin-os.c: In function 'align_context_stack':
x86-darwin-os.c:165: error: 'context' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:175: error: parse error before '*' token
x86-darwin-os.c: In function 'open_stack_allocation':
x86-darwin-os.c:179: error: 'context' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:190: error: parse error before '*' token
x86-darwin-os.c: In function 'stack_allocate':
x86-darwin-os.c:193: error: 'size' undeclared (first use in this function)
x86-darwin-os.c:195: error: 'context' undeclared (first use in this function)
x86-darwin-os.c: At top level:
x86-darwin-os.c:205: error: parse error before '*' token
x86-darwin-os.c: In function 'call_c_function_in_context':
x86-darwin-os.c:215: error: 'context' undeclared (first use in this function)
x86-darwin-os.c:218: error: 'nargs' undeclared (first use in this function)
x86-darwin-os.c:233: error: 'function' undeclared (first use in this function)
x86-darwin-os.c:225: error: 'va_start' used in function with fixed args
x86-darwin-os.c: At top level:
x86-darwin-os.c:236: error: parse error before '*' token
x86-darwin-os.c:240: error: parse error before ')' token
x86-darwin-os.c:259: warning: type defaults to 'int' in declaration of 'context'
x86-darwin-os.c:259: warning: initialization makes integer from pointer without a cast
x86-darwin-os.c:259: error: initializer element is not constant
x86-darwin-os.c:259: warning: data definition has no type or storage class
x86-darwin-os.c:260: warning: type defaults to 'int' in declaration of 'regs'
x86-darwin-os.c:260: error: conflicting types for 'regs'
x86-darwin-os.c:257: error: previous declaration of 'regs' was here
x86-darwin-os.c:260: warning: initialization makes integer from pointer without a cast
x86-darwin-os.c:260: error: initializer element is not constant
x86-darwin-os.c:260: warning: data definition has no type or storage class
x86-darwin-os.c:261: error: parse error before '->' token
x86-darwin-os.c:271: warning: type defaults to 'int' in declaration of 'build_fake_signal_context'
x86-darwin-os.c:271: warning: parameter names (without types) in function declaration
x86-darwin-os.c:271: error: conflicting types for 'build_fake_signal_context'
x86-darwin-os.c:135: error: previous definition of 'build_fake_signal_context' was here
x86-darwin-os.c:271: warning: data definition has no type or storage class
x86-darwin-os.c:273: warning: type defaults to 'int' in declaration of 'block_blockable_signals'
x86-darwin-os.c:273: error: conflicting types for 'block_blockable_signals'
interrupt.h:98: error: previous declaration of 'block_blockable_signals' was here
x86-darwin-os.c:273: warning: data definition has no type or storage class
x86-darwin-os.c:275: warning: type defaults to 'int' in declaration of 'handler'
x86-darwin-os.c:275: warning: parameter names (without types) in function declaration
x86-darwin-os.c:275: warning: data definition has no type or storage class
x86-darwin-os.c:277: warning: type defaults to 'int' in declaration of 'update_thread_state_from_context'
x86-darwin-os.c:277: warning: parameter names (without types) in function declaration
x86-darwin-os.c:277: error: conflicting types for 'update_thread_state_from_context'
x86-darwin-os.c:145: error: previous definition of 'update_thread_state_from_context' was here
x86-darwin-os.c:277: warning: data definition has no type or storage class
x86-darwin-os.c:279: error: parse error before '(' token
x86-darwin-os.c:279: warning: type defaults to 'int' in declaration of 'context'
x86-darwin-os.c:280: error: parse error before '(' token
x86-darwin-os.c:280: warning: type defaults to 'int' in declaration of 'regs'
x86-darwin-os.c:280: error: conflicting types for 'regs'
x86-darwin-os.c:257: error: previous declaration of 'regs' was here
x86-darwin-os.c:284: error: parse error before string constant
x86-darwin-os.c: In function 'catch_exception_raise':
x86-darwin-os.c:344: warning: statement with no effect
x86-darwin-os.c:346: error: 'x86_thread_state32_t' undeclared (first use in this function)
x86-darwin-os.c:346: error: parse error before 'thread_state'
x86-darwin-os.c:347: error: 'x86_THREAD_STATE32_COUNT' undeclared (first use in this function)
x86-darwin-os.c:349: error: 'x86_float_state32_t' undeclared (first use in this function)
x86-darwin-os.c:349: error: parse error before 'float_state'
x86-darwin-os.c:350: error: 'x86_FLOAT_STATE32_COUNT' undeclared (first use in this function)
x86-darwin-os.c:352: error: 'x86_exception_state32_t' undeclared (first use in this function)
x86-darwin-os.c:352: error: parse error before 'exception_state'
x86-darwin-os.c:353: error: 'x86_EXCEPTION_STATE32_COUNT' undeclared (first use in this function)
x86-darwin-os.c:355: error: parse error before 'backup_thread_state'
x86-darwin-os.c:356: error: 'target_thread_state' undeclared (first use in this function)
x86-darwin-os.c:357: error: 'target_float_state' undeclared (first use in this function)
x86-darwin-os.c:370: error: 'x86_THREAD_STATE32' undeclared (first use in this function)
x86-darwin-os.c:371: error: 'thread_state' undeclared (first use in this function)
x86-darwin-os.c:374: error: 'x86_FLOAT_STATE32' undeclared (first use in this function)
x86-darwin-os.c:375: error: 'float_state' undeclared (first use in this function)
x86-darwin-os.c:378: error: 'x86_EXCEPTION_STATE32' undeclared (first use in this function)
x86-darwin-os.c:379: error: 'exception_state' undeclared (first use in this function)
x86-darwin-os.c:395: error: 'backup_thread_state' undeclared (first use in this function)
x86-darwin-os.c:416: error: 'signal_emulation_wrapper' undeclared (first use in this function)
x86-darwin-os.c:501: warning: statement with no effect
x86-darwin-os.c:590: warning: statement with no effect
x86-darwin-os.c:594: warning: statement with no effect
make: *** [x86-darwin-os.o] Error 1

-- 
Geoff