[MacPorts] #16888: sbcl-1.0.21 Build fails

MacPorts noreply at macports.org
Thu Oct 16 08:49:57 PDT 2008


#16888: sbcl-1.0.21 Build fails
-------------------------------------------------------+--------------------
 Reporter:  mforbes at physics.ubc.ca                     |       Owner:  macports-tickets at lists.macosforge.org
     Type:  defect                                     |      Status:  new                                  
 Priority:  Normal                                     |   Milestone:  Port Bugs                            
Component:  ports                                      |     Version:  1.6.0                                
 Keywords:  sbcl x86_thread_state32_t x86-darwin-os.c  |        Port:  sbcl                                 
-------------------------------------------------------+--------------------
 On 10.4.11 (32 bit intel), the build fails.  There seem to be two
 problems:

 1) The file x86-darwin-os.c contains references to the symbols

 x86_thread_state32_t
 x86_float_state32_t
 x86_THREAD_STATE32
 x86_FLOAT_STATE32

 but these are undefined.  I suspect that they are intended to be imported
 from mach/machine/thread_status.h, but that has instead

 i386_thread_state_t
 i386_float_state_t
 i386_THREAD_STATE
 i386_FLOAT_STATE

 I can get sbcl to build manually if I change these, however that leads to
 the second build problem.  This looks like it might be a problem with
 sbcl, but perhaps a simple patch would do here...  (Did these symbols
 change somewhere along the line?  I could not find any documentation about
 this...)

 2) When resuming a failed build, one obtains the error:
 {{{
 Error: Target org.macports.build returned: shell command "unset LD_PREBIND
 && unset LD_PREBIND_ALLOW_OVERLAP && sh make.sh
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.
 org_release_ports_lang_sbcl/work/sbcl-1.0.10-x86-darwin/src/runtime/sbcl
 --core
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.10
 -x86-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null
 --userinit /dev/null" " returned error 127
 Command output: make.sh: make.sh: No such file or directory
 }}}

 It seems that upon resuming a failed build (or manually trying to complete
 the build after making the previous changes), the build script does not
 change to the source directory (where make.sh is located) before trying to
 execute this.  I am not sure exactly where this problem lies, but suspect
 it has to do with some aspect of the portfile.  The peculiar thing is that
 it works for a fresh install after a clean, but not after a failure...

 Relevant build logs attached below:

 Output after port install clean then port -v install sbcl
 {{{
 --->  Fetching sbcl
 --->  Verifying checksum(s) for sbcl
 --->  Checksumming sbcl-1.0.21-Source.tar.bz2
 --->  Checksumming sbcl-1.0.10-x86-darwin-binary.tar.bz2
 --->  Extracting sbcl
 --->  Extracting sbcl-1.0.21-source.tar.bz2
 --->  Extracting sbcl-1.0.10-x86-darwin-binary.tar.bz2
 --->  Applying patches to sbcl
 --->  Applying
 /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/sbcl/files
 /patch-use-mach-exception-handler.diff
 patching file customize-target-features.lisp
 --->  Configuring sbcl
 --->  Building sbcl with target all
 //starting build: Thu Oct 16 09:26:22 MDT 2008
 //SBCL_XC_HOST="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.10-x86-darwin/src/runtime/sbcl
 --core
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.10-x86-darwin/output/sbcl.core
 --disable-debugger --sysinit /dev/null --userinit /dev/null"
 //entering make-config.sh
 //ensuring the existence of output/ directory
 //initializing
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.21
 /local-target-features.lisp-expr
 //guessing default target CPU architecture from host architecture
 //setting up CPU-architecture-dependent information
 sbcl_arch="x86"
 //setting up symlink src/compiler/target
 //setting up symlink src/assembly/target
 //setting up symlink src/compiler/assembly
 //setting up OS-dependent information
 //finishing
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.21
 /local-target-features.lisp-expr
 /in canonicalize-whitespace-1
 /$*=./customize-target-features.lisp ./local-target-features.lisp-expr
 ./tests/test-status.lisp-expr ./contrib/sb-bsd-sockets/foo.c ./contrib/sb-
 posix/foo.c ./src/runtime/runtime.c ./src/runtime/target-arch-os.h
 ./src/runtime/target-arch.h ./src/runtime/target-lispregs.h ./src/runtime
 /target-os.h
 /$scratchfilename=/tmp/canonicalize-whitespace-1.3543.tmp
 //entering make-host-1.sh
 //building cross-compiler, and doing first genesis
 This is SBCL 1.0.10, an implementation of ANSI Common Lisp.
 ... <snip lots of LISP output here>...
 //entering make-target-1.sh
 //building runtime system and symbol table file
 rm -f *.[do] sbcl sbcl.nm sbcl.h core *.tmp
 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
 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
 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:865: 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
 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
 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
 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: 'thread_state' 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: 'thread_state' 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: 'thread_state' 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: 'thread_state' 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: 'thread_state' 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:263: warning: type defaults to 'int' in declaration of
 'context'
 x86-darwin-os.c:263: warning: initialization makes integer from pointer
 without a cast
 x86-darwin-os.c:263: error: initializer element is not constant
 x86-darwin-os.c:263: warning: data definition has no type or storage class
 x86-darwin-os.c:267: warning: type defaults to 'int' in declaration of
 'regs'
 x86-darwin-os.c:267: error: conflicting types for 'regs'
 x86-darwin-os.c:260: error: previous declaration of 'regs' was here
 x86-darwin-os.c:267: warning: initialization makes integer from pointer
 without a cast
 x86-darwin-os.c:267: error: initializer element is not constant
 x86-darwin-os.c:267: warning: data definition has no type or storage class
 x86-darwin-os.c:269: error: parse error before '->' token
 x86-darwin-os.c:279: warning: type defaults to 'int' in declaration of
 'build_fake_signal_context'
 x86-darwin-os.c:279: warning: parameter names (without types) in function
 declaration
 x86-darwin-os.c:279: 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:279: warning: data definition has no type or storage class
 x86-darwin-os.c:281: warning: type defaults to 'int' in declaration of
 'block_blockable_signals'
 x86-darwin-os.c:281: error: conflicting types for
 'block_blockable_signals'
 interrupt.h:117: error: previous declaration of 'block_blockable_signals'
 was here
 x86-darwin-os.c:281: warning: data definition has no type or storage class
 x86-darwin-os.c:283: warning: type defaults to 'int' in declaration of
 'handler'
 x86-darwin-os.c:283: warning: parameter names (without types) in function
 declaration
 x86-darwin-os.c:283: warning: data definition has no type or storage class
 x86-darwin-os.c:285: warning: type defaults to 'int' in declaration of
 'update_thread_state_from_context'
 x86-darwin-os.c:285: warning: parameter names (without types) in function
 declaration
 x86-darwin-os.c:285: 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:285: warning: data definition has no type or storage class
 x86-darwin-os.c:287: error: parse error before '(' token
 x86-darwin-os.c:287: warning: type defaults to 'int' in declaration of
 'context'
 x86-darwin-os.c:291: error: parse error before '(' token
 x86-darwin-os.c:291: warning: type defaults to 'int' in declaration of
 'regs'
 x86-darwin-os.c:291: error: conflicting types for 'regs'
 x86-darwin-os.c:260: error: previous declaration of 'regs' was here
 x86-darwin-os.c:296: error: parse error before string constant
 x86-darwin-os.c:301: error: parse error before 'x86_thread_state32_t'
 x86-darwin-os.c:304: error: parse error before ')' token
 x86-darwin-os.c:307: warning: type defaults to 'int' in declaration of
 'save_thread_state'
 x86-darwin-os.c:307: warning: data definition has no type or storage class
 x86-darwin-os.c:308: error: parse error before '*' token
 x86-darwin-os.c:308: warning: type defaults to 'int' in declaration of
 'save_float_state'
 x86-darwin-os.c:308: warning: data definition has no type or storage class
 x86-darwin-os.c:313: warning: type defaults to 'int' in declaration of
 'new_state'
 x86-darwin-os.c:313: error: 'thread_state' undeclared here (not in a
 function)
 x86-darwin-os.c:313: warning: data definition has no type or storage class
 x86-darwin-os.c:314: error: parse error before '&' token
 x86-darwin-os.c:314: warning: type defaults to 'int' in declaration of
 'open_stack_allocation'
 x86-darwin-os.c:314: error: conflicting types for 'open_stack_allocation'
 x86-darwin-os.c:176: error: previous definition of 'open_stack_allocation'
 was here
 x86-darwin-os.c:314: warning: data definition has no type or storage class
 x86-darwin-os.c:315: error: parse error before '&' token
 x86-darwin-os.c:315: warning: type defaults to 'int' in declaration of
 'stack_allocate'
 x86-darwin-os.c:315: error: conflicting types for 'stack_allocate'
 x86-darwin-os.c:191: error: previous definition of 'stack_allocate' was
 here
 x86-darwin-os.c:315: warning: data definition has no type or storage class
 x86-darwin-os.c:317: warning: type defaults to 'int' in declaration of
 'save_thread_state'
 x86-darwin-os.c:317: error: conflicting types for 'save_thread_state'
 x86-darwin-os.c:307: error: previous declaration of 'save_thread_state'
 was here
 x86-darwin-os.c:317: error: 'x86_thread_state32_t' undeclared here (not in
 a function)
 x86-darwin-os.c:317: error: parse error before ')' token
 x86-darwin-os.c:318: warning: type defaults to 'int' in declaration of
 'save_thread_state'
 x86-darwin-os.c:318: warning: data definition has no type or storage class
 x86-darwin-os.c:320: warning: type defaults to 'int' in declaration of
 'save_float_state'
 x86-darwin-os.c:320: error: conflicting types for 'save_float_state'
 x86-darwin-os.c:308: error: previous declaration of 'save_float_state' was
 here
 x86-darwin-os.c:320: error: 'x86_float_state32_t' undeclared here (not in
 a function)
 x86-darwin-os.c:320: error: parse error before ')' token
 x86-darwin-os.c:321: warning: type defaults to 'int' in declaration of
 'state_count'
 x86-darwin-os.c:321: error: conflicting types for 'state_count'
 x86-darwin-os.c:309: error: previous declaration of 'state_count' was here
 x86-darwin-os.c:321: error: 'x86_FLOAT_STATE32_COUNT' undeclared here (not
 in a function)
 x86-darwin-os.c:321: warning: data definition has no type or storage class
 x86-darwin-os.c:322: error: parse error before 'if'
 x86-darwin-os.c:328: warning: type defaults to 'int' in declaration of
 'save_siginfo'
 x86-darwin-os.c:328: error: conflicting types for 'save_siginfo'
 x86-darwin-os.c:310: error: previous declaration of 'save_siginfo' was
 here
 x86-darwin-os.c:328: error: 'siginfo' undeclared here (not in a function)
 x86-darwin-os.c:328: error: initializer element is not constant
 x86-darwin-os.c:328: warning: data definition has no type or storage class
 x86-darwin-os.c:329: error: parse error before 'if'
 x86-darwin-os.c:334: error: parse error before '&' token
 x86-darwin-os.c:341: warning: type defaults to 'int' in declaration of
 'call_c_function_in_context'
 x86-darwin-os.c:341: error: conflicting types for
 'call_c_function_in_context'
 x86-darwin-os.c:209: error: previous definition of
 'call_c_function_in_context' was here
 x86-darwin-os.c:341: warning: data definition has no type or storage class
 x86-darwin-os.c:343: warning: type defaults to 'int' in declaration of
 'state_count'
 x86-darwin-os.c:343: error: conflicting types for 'state_count'
 x86-darwin-os.c:309: error: previous declaration of 'state_count' was here
 x86-darwin-os.c:343: error: 'x86_THREAD_STATE32_COUNT' undeclared here
 (not in a function)
 x86-darwin-os.c:343: warning: data definition has no type or storage class
 x86-darwin-os.c:344: error: parse error before 'if'
 x86-darwin-os.c: In function 'catch_exception_raise':
 x86-darwin-os.c:410: error: parse error before 'thread_state'
 x86-darwin-os.c:426: error: 'x86_THREAD_STATE32' undeclared (first use in
 this function)
 x86-darwin-os.c:502: error: 'x86_FLOAT_STATE32' undeclared (first use in
 this function)
 x86-darwin-os.c:518: warning: implicit declaration of function
 'call_handler_on_thread'
 x86-darwin-os.c:416: warning: unused variable 'region_name'
 x86-darwin-os.c:415: warning: unused variable 'info_count'
 x86-darwin-os.c:414: warning: unused variable 'region_info'
 x86-darwin-os.c:413: warning: unused variable 'region_size'
 x86-darwin-os.c:412: warning: unused variable 'region_addr'
 make: *** [x86-darwin-os.o] Error 1
 Warning: the following items did not execute (for sbcl):
 org.macports.activate org.macports.build org.macports.destroot
 org.macports.install
 }}}

 Output after trying to rebuild (after changing source file as discussed
 above)
 {{{
 --->  Building sbcl with target all
 make.sh: make.sh: No such file or directory
 Error: Target org.macports.build returned: shell command "unset LD_PREBIND
 && unset LD_PREBIND_ALLOW_OVERLAP && sh make.sh
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.10-x86-darwin/src/runtime/sbcl
 --core
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-1.0.10-x86-darwin/output/sbcl.core
 --disable-debugger --sysinit /dev/null --userinit /dev/null" " returned
 error 127
 Command output: make.sh: make.sh: No such file or directory

 Warning: the following items did not execute (for sbcl):
 org.macports.activate org.macports.build org.macports.destroot
 org.macports.install
 Error: Status 1 encountered during processing.
 }}}

-- 
Ticket URL: <http://trac.macports.org/ticket/16888>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list