Я скачал Gforth 0.7.0 с официального сайта, разместив папку в /Applications
и разместив ее псевдоним в /usr/local/bin
. После компиляции с помощью:Проблемы с компиляцией Gforth на Mac
$ sudo -s
$ ./configure
$ make
Когда making, он получает результат:
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.
Я понятия не имею, что здесь не так. Я пробовал the answer to Stack Overflow question Compiling Gforth without Gforth?, но это тоже не сработало. Я бегу Mac OS X v10.8 (Горный лев) на MacBook Air.
Это не то же самое, что компилировать его самостоятельно. «Пивоварение» дает вам самую последнюю версию? Получение исполняемых вещей обычно проще и нормально, но тем не менее это никому не поможет: причина, по которой вы получаете seg-ошибку, будет «скрыта» где-то и может повлиять на любого другого человека, пытающегося получить gforth, скомпилированного и не «сваренного» ... – ShinTakezou
Проблема с gforth - это курица-яйцо: вам нужна рабочая версия gforth (например, bootstrap), чтобы скомпилировать новую версию. В вашей первоначальной попытке собрать gforth * bootstrap * (то есть preforth) явно не предназначался для работы в вашей системе, следовательно, segfault. Так что да, нужно «варить» перед компиляцией;) – wldsvc