Plan9

如何修復“致命錯誤:/386/include/uh:”?

  • June 25, 2020

我嘗試在我的 Debian 10 上安裝 Inferno。

$ git clone https://github.com/doublec/inferno
$ cd inferno
$ sh Mkdirs
$ nano mkconfig
ROOT=/root/of/the/inferno/git/clone
SYSHOST=Linux
OBJTYPE=386
$ export PATH=$PATH:`pwd`/Linux/386/bin
$ ./makemk.sh

刪除舊庫和二進製文件 gcc -m32 -c -I/home/user1/inferno/Plan9/386/include -I/home/user1/inferno/include -I/home/user1/inferno/utils/include regaux.c regcomp .c regerror.c regexec.c regsub.c rregexec.c rregsub.c

最後一次操作後,我得到了輸出

帶有致命錯誤的所有 lib.c:

致命錯誤:/386/include/uh

的值SYSHOST=Plan9未正確更改為SYSHOST=Linuxin mkconfig

使用預設值我得到同樣的錯誤:

$ ./makemk.sh
removing old libraries and binaries
gcc -m32 -c -I/tmp/testdir/inferno/Plan9/386/include -I/tmp/testdir/inferno/include -I/tmp/testdir/inferno/utils/include regaux.c regcomp.c regerror.c regexec.c regsub.c rregexec.c rregsub.c
In file included from /tmp/testdir/inferno/Plan9/386/include/../../include/lib9.h:1,
                from /tmp/testdir/inferno/Plan9/386/include/lib9.h:1,
                from regaux.c:1:
/tmp/testdir/inferno/Plan9/386/include/u.h:1:10: fatal error: /386/include/u.h: No such file or directory
#include "/386/include/u.h"
         ^~~~~~~~~~~~~~~~~~
compilation terminated.

SYSHOST=Linux它編譯…

$ ./makemk.sh
removing old libraries and binaries
gcc -m32 -c -I/tmp/testdir/inferno/Linux/386/include -I/tmp/testdir/inferno/include -I/tmp/testdir/inferno/utils/include regaux.c regcomp.c regerror.c regexec.c regsub.c rregexec.c rregsub.c
ar crvs /tmp/testdir/inferno/Linux/386/lib/libregexp.a regaux.o regcomp.o regerror.o regexec.o regsub.o rregexec.o rregsub.o
a - regaux.o
a - regcomp.o
a - regerror.o
a - regexec.o
a - regsub.o
a - rregexec.o
a - rregsub.o
...

引用自:https://unix.stackexchange.com/questions/595115