J'ai besoin de compiler SBCL à partir de la source et activer le thread sur mon MacBook Mac OS X.Compiler SBCL à partir de la source sur Mac OS X
Je l'ai fait ce qui suit:
- Téléchargé sbcl-1.0.29.54.rc1 et décompressé à la racine de mon disque dur (je pourrais le mettre ailleurs si ce serait mieux).
Invoqué
sh make.sh
Il fait beaucoup de choses (il ne manque pas immédiatement), mais l'échec se produit:
make: *** [backtrace.o] Error 1
Je ne peux pas vraiment dire quel est le problème de la sortie précédente:
; /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
Quelqu'un peut-il me dire ce que je dois faire pour résoudre ce problème?
et raison pour laquelle vous compilez un vieux sbcl, cependant? ce correctif est dans les versions plus récentes. – krzysz00