Компиляция SBCL из исходного кода в Mac OS X - PullRequest
4 голосов
/ 12 ноября 2010

Мне нужно скомпилировать SBCL из исходного кода и включить многопоточность на моем Mac OS X MacBook.

Я сделал следующее:

  1. Скачал sbcl-1.0.29.54.rc1 и разархивировал его в корень моего жесткого диска (я мог бы положить его куда-нибудь еще, если это будет лучше).
  2. Вызван

    sh make.sh
    

Он делает много всего (не сразу), но затем происходит следующая ошибка:

make: *** [backtrace.o] Error 1

Я не могу точно сказать, в чем проблема из предыдущего вывода:

; /sbcl-1.0.29.54.rc1/obj/from-host/src/compiler/generic/genesis.lisp-obj-tmp written
; compilation finished in 0:00:02.281
STYLE-WARNING: redefining FOP-MAYBE-COLD-LOAD in DEFUN
T
* 
beginning GENESIS, creating headers in "src/runtime/genesis"
NIL
* 
real    1m24.729s
user    1m17.343s
sys 0m5.793s
//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
In file included from darwin-os.c:21:
/usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, 
      and require _XOPEN_SOURCE to be defined
gcc -g -Wall -O2 -fdollars-in-identifiers -mmacosx-version-min=10.4 -I. -no-cpp-precomp  -c -o alloc.o alloc.c
In file included from alloc.c:21:
runtime.h: In function 'CONS':
runtime.h:151: warning: cast to pointer from integer of different size
runtime.h: In function 'SYMBOL':
runtime.h:157: warning: cast to pointer from integer of different size
runtime.h: In function 'FDEFN':
runtime.h:163: warning: cast to pointer from integer of different size
gcc -g -Wall -O2 -fdollars-in-identifiers -mmacosx-version-min=10.4 -I. -no-cpp-precomp  -c -o backtrace.o backtrace.c
In file included from backtrace.c:19:
runtime.h: In function 'CONS':
runtime.h:151: warning: cast to pointer from integer of different size
runtime.h: In function 'SYMBOL':
runtime.h:157: warning: cast to pointer from integer of different size
runtime.h: In function 'FDEFN':
runtime.h:163: warning: cast to pointer from integer of different size
/var/folders/T2/T2z5uzvpHnmC3o+vJVluoU+++TI/-Tmp-//ccEobrpp.s:851:suffix or operands invalid for `mov'
make: *** [backtrace.o] Error 1

Может кто-нибудь сказать мне, что мне нужно сделать, чтобы это исправить?

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

есть патч, расположенный в этом отчете об ошибке .Попробуйте применить его и восстановить заново (сделайте clean && ...), а затем посмотрите, исчезнет ли проблема.

2 голосов
/ 12 ноября 2010

Эта версия довольно старая.SBCL до 1.0.44.1.0.44 прекрасно работает на Mac OS X.

...