4

Gforth 0.7.0をコンパイルしようとすると、次のエラーが発生します。

$ ./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で記述されていることだと思います。それでは、最初にインストールせずにインストールするにはどうすればよいですか(または問題は別のものですか)。

MacOS10.6を使用しています。

4

1 に答える 1

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
...

また、プレーンGCC(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:
于 2010-03-05T03:38:02.213 に答える