Jef*_*rth 4 compiler-construction macos forth
当我尝试编译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$
Run Code Online (Sandbox Code Playgroud)
通过端口安装时出现同样的错误.我想问题是Gforth是写的,至少部分是在Forth中,所以如何在没有先安装它的情况下安装它(或者是其他问题)?
我使用的是Mac OS 10.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
...
Run Code Online (Sandbox Code Playgroud)
我还发现,当我用普通GCC内置(在64位模式下),事物的编译过程中去可怕的错误(约误指定的,我认为,汇编器插入寄存器的投诉).但是当我重新配置:
CC="gcc -m32" ./configure --prefix=$HOME
Run Code Online (Sandbox Code Playgroud)
我仍然收到关于'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:
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1001 次 |
最近记录: |