現在、私のコンピュータにはmawk 1.3.3がインストールされています。次に、最新バージョンのmawk(1.3.4)をインストールしてみました。
https://invisible-island.net/mawk/#download
ソースファイルをダウンロードし、mawk.tar.gzからソースファイルをフォルダに抽出し、ソースファイルを含むフォルダにcdしました。その後、端末に次のように入力しました。
./configure
make check
sudo make install
./configure
うまくいくようですが、make check
以下を提供します。
** mawk_test
./mawktest: 91: ./mawktest: /home/Documents/Missing: not found
testing input and field splitting
./mawktest: 97: ./mawktest: /home/Documents/Missing: not found
?? fail wc.awk
./mawktest: 98: ./mawktest: /home/Documents/Missing: not found
?? fail null-rs.awk
./mawktest: 100: ./mawktest: /home/Documents/Missing: not found
./mawktest: 101: ./mawktest: /home/Documents/Missing: not found
./mawktest: 103: ./mawktest: /home/Documents/Missing: not found
./mawktest: 104: ./mawktest: /home/Documents/Missing: not found
./mawktest: 106: ./mawktest: /home/Documents/Missing: not found
./mawktest: 107: ./mawktest: /home/Documents/Missing: not found
./mawktest: 109: ./mawktest: /home/Documents/Missing: not found
./mawktest: 110: ./mawktest: /home/Documents/Missing: not found
./mawktest: 113: ./mawktest: /home/Documents/Missing: not found
./mawktest: 114: ./mawktest: /home/Documents/Missing: not found
./mawktest: 116: ./mawktest: /home/Documents/Missing: not found
./mawktest: 117: ./mawktest: /home/Documents/Missing: not found
?? fail case 8
./mawktest: 122: ./mawktest: /home/Documents/Missing: not found
./mawktest: 123: ./mawktest: /home/Documents/Missing: not found
./mawktest: 125: ./mawktest: /home/Documents/Missing: not found
./mawktest: 126: ./mawktest: /home/Documents/Missing: not found
input and field splitting had 3 failures
testing regular expression matching
./mawktest: 145: ./mawktest: /home/Documents/Missing: not found
./mawktest: 146: ./mawktest: /home/Documents/Missing: not found
./mawktest: 147: ./mawktest: /home/Documents/Missing: not found
./mawktest: 148: ./mawktest: /home/Documents/Missing: not found
./mawktest: 149: ./mawktest: /home/Documents/Missing: not found
./mawktest: 150: ./mawktest: /home/Documents/Missing: not found
./mawktest: 151: ./mawktest: /home/Documents/Missing: not found
./mawktest: 152: ./mawktest: /home/Documents/Missing: not found
?? fail reg0-reg7 case
./mawktest: 157: ./mawktest: /home/Documents/Missing: not found
?? fail noloop2 test
./mawktest: 159: ./mawktest: /home/Documents/Missing: not found
?? fail noloop1 test
./mawktest: 161: ./mawktest: /home/Documents/Missing: not found
?? fail case 1
./mawktest: 164: ./mawktest: /home/Documents/Missing: not found
./mawktest: 165: ./mawktest: /home/Documents/Missing: not found
./mawktest: 167: ./mawktest: /home/Documents/Missing: not found
./mawktest: 168: ./mawktest: /home/Documents/Missing: not found
./mawktest: 170: ./mawktest: /home/Documents/Missing: not found
./mawktest: 171: ./mawktest: /home/Documents/Missing: not found
./mawktest: 173: ./mawktest: /home/Documents/Missing: not found
./mawktest: 174: ./mawktest: /home/Documents/Missing: not found
?? fail case 6
regular expression matching had 5 failures
testing checking for write errors
checking for write errors OK
testing arrays and flow of control
./mawktest: 199: ./mawktest: /home/Documents/Missing: not found
?? fail
array test had one failure
testing nextfile
./mawktest: 207: ./mawktest: /home/Documents/Missing: not found
?? fail
nextfile test had one failure
testing function calls and general stress test
./mawktest: 215: ./mawktest: /home/Documents/Missing: not found
?? fail
general stress test had one failure
tested /home/Documents/Missing Semester/mawk-1.3.4-20200120/mawk had 11 failures
make: *** [Makefile:107: mawk_test] Error 11
これにより、sudo make install
次のような結果が得られます。
/usr/bin/install -c mawk /usr/local/bin/`echo mawk| sed 's,x,x,'`
/usr/bin/install -c -m 644 ./man/mawk.1 /usr/local/share/man/man1/`echo mawk| sed 's,x,x,'`.1
awk -W version
mawkでバージョンを確認すると、次のような結果が表示されるため、正しくインストールされていないようです。
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
compiled limits:
max NF 32767
sprintf buffer 2040
インストールが間違っているのはなぜですか?
答え1
これは/home/Documents/Missing
mawkソースからのものではありません。おそらく迷子になる環境変数があるかもしれません。
「make check」はビルドツリーのモックコピーを使用する必要があります。ここが主な点検場所です。君は走らなかった
make
これは、makefileの依存関係が欠落していることを反映する可能性があります。
それ以外に - デフォルトでは、configureはthen/usr/local/bin
以降に使用されている場合にのみ表示されます。PATH
/usr/bin
/usr/bin/mawk
/usr/bin を構成するには、次のようにします。
make distclean
./configure --prefix=/usr
make
make check