2013-03-05 3 views
2

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.

Répondre

2

Peu importe, je l'ai résolu. J'ai simplement utilisé Homebrew et fait un

brew install gforth 

et cela a fonctionné! Ça a marché! Je ne peux pas croire que je n'ai pas pensé à cela après 2 jours d'essai ...

+1

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

+2

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