[linux-users: 108858] GNU screenのmakeについて

satoake satoake9 @ gmail.com
2012年 1月 3日 (火) 16:25:13 JST


さとあけと申します。

 ScientificLinux 6.0/6.1とCentOS 6.0/6.1/6.2にてGNU Screenをconfigureし
てmakeしようとしたところ、makeが途中で止まってしまう現象に遭遇しています。
長文になってしまいますが、どうぞよろしくお願いします。

 OSインストール後の手順は下記のとおりです(読みづらいので数行に分けます)。

# yum -y install gcc gcc-c++ telnet bzip2-devel libtool openssl-devel \
zlib-devel libevent libevent-devel make flex libxml2-devel  curl-devel \
gettex gettext-devel lynx libmcrypt libmcrypt-devel libxslt libxslt-devel
# yum install -y ncurses-devel compat-glibc-headers
# wget http://ftp.riken.jp/GNU/ftp/gnu/screen/screen-4.0.3.tar.gz
# tar zvxf screen-4.0.3.tar.gz
# cd screen-4.0.3
# ./configure --prefix=/usr/local/screen --enable-colors256

configureは問題なく終了するのですが、makeが下記の部分で止まります。

gcc -c -I. -I.    -g -O2 pty.c
pty.c:38:26: error: sys/stropts.h: そのようなファイルやディレクトリはありません
make: *** [pty.o] エラー 1

 pty.cのstropts.hの部分をコメントアウトする回避策が調べた所散見されるの
ですが、ちょっと気持ちが悪いです(それで問題なく動作するのであればいいの
ですが)。strops.hはcompat-glibc-headersに含まれていたのでインストールし、
findで見つけることが出来ました。が、場所はここでいいのかどうかがわかりま
せん。

# find / | grep stropts.h
/usr/lib/x86_64-redhat-linux5E/include/bits/stropts.h
/usr/lib/x86_64-redhat-linux5E/include/sys/stropts.h
/usr/lib/x86_64-redhat-linux5E/include/stropts.h
/usr/share/man/man0p/stropts.h.0p.gz

あることは確認できているのですが、gccに-vをつけて該当部分だけコンパイル
して見ました所、下記の様になり、上記のパスを見つけられていないように思わ
れました。

# gcc -c -I. -I. -g -O pty.c
pty.c:38:26: error: sys/stropts.h: そのようなファイルやディレクトリはありません
[root @ madoka screen-4.0.3]# gcc -c -v -I. -I. -g -O pty.c
Using built-in specs.
Target: x86_64-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
スレッドモデル: posix
gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC)
COLLECT_GCC_OPTIONS='-c' '-v' '-I.' '-I.' '-g' '-O' '-mtune=generic'
 /usr/libexec/gcc/x86_64-redhat-linux/4.4.5/cc1 -quiet -v -I. -I. pty.c -quiet -dumpbase pty.c -mtune=generic -auxbase pty -g -O -version -o /tmp/cc7eYioW.s
存在しないディレクトリ "/usr/lib/gcc/x86_64-redhat-linux/4.4.5/include-fixed" を無視します
存在しないディレクトリ "/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../x86_64-redhat-linux/include" を無視します
重複したディレクトリ "." を無視します
#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
 .
 /usr/local/include
 /usr/lib/gcc/x86_64-redhat-linux/4.4.5/include
 /usr/include
探索リストの終わり
GNU C (GCC) version 4.4.5 20110214 (Red Hat 4.4.5-6) (x86_64-redhat-linux)
        compiled by GNU C version 4.4.5 20110214 (Red Hat 4.4.5-6), GMP version 4.3.1, MPFR version 2.4.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 49029d07da46d18098ec3340d31ee5e6
pty.c:38:26: error: sys/stropts.h: そのようなファイルやディレクトリはありません

 最後に現れるsys/stropts.hとはどこのパスを見ているのでしょうか?
/usr/lib/x86_64-redhat-linux5E/include/sys/stropts.hではなさそうですので、
お分かりの方、また解決方法をご存知の方、ご教授頂けないでしょうか。



linux-users メーリングリストの案内