2010-03-05 6 views
4

Когда я пытаюсь скомпилировать Gforth 0.7.0, я получаю следующее сообщение об ошибке:Компиляция Gforth без Gforth?

$ ./configure 
$ make 
#compiling… 
Undefined symbols: 
    "_main", referenced from: 
     start in crt1.10.6.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 
make[3]: *** [gforth-ll] Error 1 
./preforth -p ".:~+:." -e 's" mach16b.fs"' ./kernel/main.fs -e "save-cross kernl16b.fi- /usr/local/bin/gforth-0.7.0 bye" 
You need to configure with a gforth in $PATH to build this part 
make[3]: *** [kernl16b.fi-] Error 1 
make[2]: *** [gforth-ll] Error 2 
make[1]: *** [optgforth] Error 2 
make: *** [gforth] Error 2 
[22:16:01] gforth-0.7.0$ 

я получаю ту же ошибку при установке через порты. Я предполагаю, что проблема заключается в том, что Gforth написан, по крайней мере частично, в Forth, поэтому как его установить без предварительной установки (или это проблема что-то еще)?

Я использую Mac OS 10.6.

ответ

6

В конфигурированием, я получил сообщение:

... 
checking how to invoke m4... m4 -s 
checking for gforth... echo "You need to configure with a gforth in \$PATH to build this part" && false 
checking for ./arch/386/asm.fs... yes 
... 

Я также обнаружил, что, когда я построил с простой НКУ (в 64-битном режиме), все пошло не так во время компиляции (жалобы рительных указанные регистры, я предполагаю, ассемблерные вставки). Но когда я переконфигурировать с:

CC="gcc -m32" ./configure --prefix=$HOME 

Я до сих пор получил предупреждение о «gforth», но остальная часть компиляции удалось. В установке появилось предупреждение о том, что «chcon» не работает, но ошибка была проигнорирована.

После установки, я был в состоянии напечатать:

Osiris-2 JL: gforth 
Gforth 0.7.0, Copyright (C) 1995-2008 Free Software Foundation, Inc. 
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' 
Type `bye' to exit 
2 3 + ok 
. 5 ok 

Osiris-2 JL: uname -a 
Darwin Osiris-2.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov 3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386 
Osiris-2 JL: 
+0

Я получил сообщение об ошибке во время выполнения, как только он был запущен, но он ушел после того, как снова идти через все без --prefix к './configure ', спасибо –