Thanks for many improvements. I applied six patches to grep and tried to compile it, but after the sixth patch, I recevied 'SEEK_DATA' undeclared error. I looked for it on CentOS 5.10, but I couldn't find it in standard header files (glibc 2.5.1) and gnulib files.
== gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../lib -g -O2 -MT searchutils.o -MD -MP -MF $depbase.Tpo -c -o searchutils.o searchutils.c && \ mv -f $depbase.Tpo $depbase.Po grep.c: In function 'fillbuf': grep.c:718: error: 'SEEK_DATA' undeclared (first use in this function) grep.c:718: error: (Each undeclared identifier is reported only once grep.c:718: error: for each function it appears in.) Makefile:1309: recipe for target 'grep.o' failed make[2]: *** [grep.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory '/b/grep-2.20/src' Makefile:1238: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/b/grep-2.20' Makefile:1179: recipe for target 'all' failed make: *** [all] Error 2