无法使用`gforthmi`编译图像

时间:2017-02-27 02:50:05

标签: forth gforth

下面显示的应用程序

." Hello, world!"
bye
通过gforthmi stdout.4th进行编译时,

会产生以下错误:

/usr/bin/gforthmi: 47: /usr/bin/gforthmi: /usr/lib/gforth/0.7.3/gforth-ditc: not found
/usr/bin/gforthmi: 48: /usr/bin/gforthmi: /usr/lib/gforth/0.7.3/gforth-ditc: not found
redefined th  
*OS command line*:-1: No such file or directory
comp-image >>>./temp-image.fi1<<< ./temp-image.fi2 stdout.4th bye
Backtrace:
$7F416215C970 throw 
$7F41621924F8 slurp-file 
rm: cannot remove './temp-image.fi1': No such file or directory
rm: cannot remove './temp-image.fi2': No such file or directory

我正在通过官方Ubuntu PPA在Ubuntu系统上运行gforth 0.7.3

我编译图像的方式是否犯了错误?我错过了任何选择吗?

1 个答案:

答案 0 :(得分:1)

涉及到几个问题。

由于某些原因,ubuntu上的gforth-ditc位于不同的路径中。不在/usr/bin下,而是在/use/lib/$MACHTYPE/gforth/$version下。即对于64位ubuntu和gforth版本0.7.2我将它放在/usr/lib/x86_64-linux-gnu/gforth/0.7.2/gforth-ditc。在您的系统中找到它并使用GFORTHD环境变量指定。

第二个问题是您的测试样本。它不应该以{{1​​}}结尾,因为它会终止bye(由gforth-ditc使用),而不会保存任何内容,因为gforthmi字作为参数传递给savesystem 1}}永远不会到达。

另一个提示 - 您的测试样本将在编译期间进行解释,但不会为生成的图像贡献任何代码。至少定义一些在加载图像后要调用的单词:)