checkinstallのmakeがgithub最新をcloneしてもコケる - ReDo

2013年4月 3日

checkinstallのmakeがgithub最新をcloneしてもコケる

CentOS 6.2 64bit に checkinstall 1.6.2 を入れる
http://d.hatena.ne.jp/naga_sawa/20120410/1334024586

しかしこけたのでどうにかする。

  
make
for file in locale/checkinstall-*.po ; do \
        case ${file} in \
                locale/checkinstall-template.po)  ;; \
                *) \
                        out=`echo $file | sed -s 's/po/mo/'` ; \
                        msgfmt -o ${out} ${file} ; \
                        if [ $? != 0 ] ; then \
                                exit 1 ; \
                        fi ; \
                ;; \
        esac ; \
done
make -C installwatch
make[1]: ディレクトリ `/tmp/checkinstall/installwatch' に入ります
./create-localdecls
Checking truncate argument type... off_t
Checking readlinkat result type... ssize_t
Checking libc version... libc.so.6
Checking glibc subversion... JH OsLibcMinor is 14
Treated as glibc >= 2.1 (finger crossed)
gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT -DVERSION=\"0.7.0beta7\" installwatch.c
installwatch.c:2960:5: エラー: 'readlink' と型が競合しています
/usr/include/unistd.h:832:16: 備考: 前の 'readlink' の宣言はここです
installwatch.c:3098:5: エラー: 'scandir' と型が競合しています
/usr/include/dirent.h:256:12: 備考: 前の 'scandir' の宣言はここです
installwatch.c:3714:5: エラー: 'scandir64' と型が競合しています
/usr/include/dirent.h:279:12: 備考: 前の 'scandir64' の宣言はここです
make[1]: *** [installwatch.o] エラー 1
make[1]: ディレクトリ `/tmp/checkinstall/installwatch' から出ます
make: *** [all] エラー 2

>Treated as glibc >= 2.1 (finger crossed)
この行が気になったのでぐぐる。

https://github.com/ruxkor/checkinstall/blob/master/installwatch/create-localdecls
glibc2.13までしか対応されてない様に見えたので、適当に「14)」な感じのcaseを増やします。

    14)
            echo '#define GLIBC_MINOR 14' >> $OUTFILE
            SUBVERSOIN='glibc-2.14' ;;

その後のcheckinstall自身のrpm化・install、Ruby-1.9.3のrpm化・installともにうまくいった気配がするので
この対応で良さそうです。

コメントする