J'ai téléchargé Gforth 0.7.0 sur le site officiel, en plaçant le dossier dans /Applications
et mettre son alias dans /usr/local/bin
. Après avoir compilé en utilisant:Problèmes de compilation Gforth sur Mac
$ sudo -s
$ ./configure
$ make
Quand making, il obtient le résultat:
cd engine && make gforth-ditc-noll OPT=-noll OPTDEFINES= OPTOBJECTS=dblsub.o
cd .. && CONFIG_FILES=stamp-h CONFIG_HEADERS=engine/config.h ./config.status
config.status: creating stamp-h
config.status: creating engine/config.h
config.status: engine/config.h is unchanged
config.status: executing stamp-h commands
echo timestamp > stamp-h
cp -p engine/gforth-ditc-noll gforth-ditc
true
cd engine && make gforth-itc-noll OPT=-noll OPTDEFINES= OPTOBJECTS=dblsub.o
make[1]: `gforth-itc-noll' is up to date.
cp -p engine/gforth-itc-noll gforth-itc
true
./preforth -p ".:~+:." -e 's" mach16b.fs"' ./kernel/main.fs -e "save-cross kernl16b.fi- /usr/local/bin/gforth-0.7.0 bye"
Segmentation fault: 11.
make: *** [kernl16b.fi-] Error 139
bash-3.2# ./preforth
Segmentation fault: 11.
Je ne sais pas ce qui ne va pas ici. J'ai essayé the answer to Stack Overflow question Compiling Gforth without Gforth?, mais cela n'a pas fonctionné non plus. Je cours Mac OS X v10.8 (Mountain Lion) sur un MacBook Air.
ce n'est pas la même chose que de le compiler par vous-même. "Brewing" vous donne la toute dernière version? Obtenir des choses exécutables est généralement plus facile et correct, mais néanmoins cela n'aidera personne: la raison pour laquelle vous obtenez la faute segmentera sera "cachée" quelque part et pourrait affecter n'importe quelle autre personne essayant d'être compilée et non "brassée" ... – ShinTakezou
Le problème avec gforth est celui de la poule et de l'oeuf: vous avez besoin d'une version précédente de gforth (comme un bootstrap) pour compiler une nouvelle version. Dans votre tentative initiale de compilation de gforth, le * bootstrap * (c'est-à-dire le préfixe) n'était évidemment pas destiné à fonctionner sur votre système, d'où le segfault. Donc oui, il faut "brasser" avant de compiler;) – wldsvc