grepをビルドしたい(その2)

前回apt-get sourceで取得したgrep-2.27のビルドを試みて諦めました。
今回は、gnuのサイトからgrep最新版のソースを取得してビルドしようと思います。

まずはソースの取得から。3.1が最新のようです。

takk@deb9:~/tmp$ wget http://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz

~省略~

`grep-3.1.tar.xz' に保存中

grep-3.1.tar.xz     100%[===================>]   1.31M   337KB/s    in 4.0s

2018-11-30 19:30:07 (337 KB/s) - `grep-3.1.tar.xz' へ保存完了 [1370880/1370880]

takk@deb9:~/tmp$

解凍して中身を確認。

takk@deb9:~/tmp$ tar xJf grep-3.1.tar.xz
takk@deb9:~/tmp$ cd grep-3.1/
takk@deb9:~/tmp/grep-3.1$ ls
ABOUT-NLS       INSTALL       THANKS      config.hin     lib       thanks-gen
AUTHORS         Makefile.am   THANKS.in   configure      m4
COPYING         Makefile.in   TODO        configure.ac   maint.mk
ChangeLog       NEWS          aclocal.m4  dist-check.mk  po
ChangeLog-2009  README        build-aux   doc            src
GNUmakefile     README-alpha  cfg.mk      gnulib-tests   tests
takk@deb9:~/tmp/grep-3.1$

ではビルドします。

takk@deb9:~/tmp/grep-3.1$ ./configure

~省略~

takk@deb9:~/tmp/grep-3.1$ make

~省略~

takk@deb9:~/tmp/grep-3.1$ find -name grep
./src/grep
takk@deb9:~/tmp/grep-3.1$

すんなり通りました。

色が付くか確認してみます。

takk@deb9:~/tmp/grep-3.1/src$ export GREP_COLOR='01;33'
takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c

パイプ後はどうでしょうか。

takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c | tail


3.1でも、やはり色は消えますね。

では、前回やろうとしていたこと、print_start_colorizeに実際通っているのかの確認をしたいと思います。printfを追加して[ABC]という文字列を埋め込みます。
前回同様の修正です。

takk@deb9:~/tmp/grep-3.1$ sed -ne '47,52p' lib/colorize-posix.c
void
print_start_colorize (char const *sgr_start, char const *sgr_seq)
{
  printf (sgr_start, sgr_seq);
  printf ("[ABC]");
}
takk@deb9:~/tmp/grep-3.1$

ではビルド。

takk@deb9:~/tmp/grep-3.1$ make

埋め込んだ文字列が表示されるか確認してみます。

takk@deb9:~/tmp/grep-3.1$ cd src
takk@deb9:~/tmp/grep-3.1/src$ ./grep --color colorize grep.c


埋め込んだ文字列が表示されました。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA