[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