ttt

getttyent

(FreeBSD) portsでのトラブル ./configure: 5478: Syntax er

2010-05-13 23:36:40 | デジタル・インターネット

最近、portupgradeしまくりな毎日です。
やっと一段落したと思ったら、gnomeとkdeが…

さて、自宅FreeBSDマシンで、libX11をportupgradeしてたら

checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking build system type... i386-portbld-freebsd7.2
checking host system type... i386-portbld-freebsd7.2
./configure: 5478: Syntax error: word unexpected (expecting ")")
===>  Script "configure" failed unexpectedly.
Please report the problem to x11@FreeBSD.org [maintainer] and attach the
"/home/ports/work/usr/ports/x11/libX11/work/libX11-1.3.3/config.log" including
the output of the failure of your make command. Also, it might be a good idea
to provide an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/x11/libX11.
===>  Cleaning for libX11-1.3.3,1

configureでSyntax errorって、どういうことだ?ってことで、エラーのあった行番号のあたりを見てみると

    _LT_DECL(build_libtool_libs, enable_shared, 0,
        Whether or not to build shared libraries)

とか書いてありました。何ですかね、これ。
どうやら、libtool用のマクロの展開に失敗してる、ってことらしいです。

automake、autoconf、libtool関係のインストールされているファイルを調べてみると、かつてportsでインストールしたはずの、古いファイルがゴロゴロころがっていました。

# ls -l aclocal*
lrwxr-xr-x  1 root  wheel     16  5 11 00:17 aclocal -> automake-wrapper
-r-xr-xr-x  1 root  wheel  31157  5 11 00:29 aclocal-1.10
-r-xr-xr-x  1 root  wheel  11416  5 11 00:27 aclocal-1.4
-r-xr-xr-x  1 root  wheel  12775  5 11 00:33 aclocal-1.5
-r-xr-xr-x  1 root  wheel  12618  5 11 00:35 aclocal-1.6
-r-xr-xr-x  1 root  wheel  19860  5 11 00:26 aclocal-1.9
-r-xr-xr-x  1 root  wheel  12755  6  5  2007 aclocal15

このうち、aclocal15は

# pkg_which /usr/local/bin/aclocal15
?

ってことで、ports的には、そんなファイル知らんよ、扱いになってます。

ほかにも、たくさんでてきます。

# pkg_which /usr/local/bin/automake15
?
# pkg_which /usr/local/bin/autoconf-2.53
?
# pkg_which /usr/local/bin/autoconf-2.59
?
# pkg_which /usr/local/bin/autoconf216
?
# pkg_which /usr/local/bin/autoconf213
?
# pkg_which /usr/local/bin/autoconf259
?

さらに、このあたりにも。

# pkg_which /usr/local/share/aclocal/libtool15.m4
?
# pkg_which /usr/local/share/aclocal/libtool14.m4
?
# pkg_which /usr/local/share/aclocal/ltdl15.m4
?
# pkg_which /usr/local/share/aclocal/inttypes.m4
?
# pkg_which /usr/local/share/aclocal/isc-posix.m4
?
# pkg_which /usr/local/share/aclocal/signed.m4
?

ここのも、ぜんぶ、古いファイル。

# ls -l /usr/local/share/aclocal15/
total 76
-r--r--r--  1 root  wheel   276  6  5  2007 as.m4
-r--r--r--  1 root  wheel  2067  6  5  2007 auxdir.m4
-r--r--r--  1 root  wheel  2836  6  5  2007 ccstdc.m4
-r--r--r--  1 root  wheel   587  6  5  2007 cond.m4

以上のような古いファイルを全部削除したら、ようやくlibX11がビルドできました。

こういう、portsでインストールしたはずファイルが、なぜかportsの管理から外れて、残ってしまうという現象、ほかのFreeBSDマシンでも見たことがありましたっけ。

さあ、これでportupgradeしまくるぞ!と思ったら・・・
こんなエラーが何十と出てきました。

pkg_delete: the package info for package 'xorg-nestserver-1.6.5,1' is corrupt
pkg_delete: the package info for package 'xorg-server-1.6.5_1,1' is corrupt
pkg_delete: the package info for package 'xorg-vfbserver-1.6.5,1' is corrupt
pkg_delete: the package info for package 'xplsprinters-1.0.1' is corrupt
pkg_delete: the package info for package 'xpr-1.0.2' is corrupt
pkg_delete: the package info for package 'xprehashprinterlist-1.0.1' is corrupt
pkg_delete: the package info for package 'xprop-1.0.4' is corrupt
pkg_delete: the package info for package 'xrandr-1.3.0' is corrupt
pkg_delete: the package info for package 'xrdb-1.0.5' is corrupt
pkg_delete: the package info for package 'xrx-1.0.1_2' is corrupt
pkg_delete: the package info for package 'xset-1.0.4' is corrupt
pkg_delete: the package info for package 'xsetmode-1.0.0' is corrupt
pkg_delete: the package info for package 'xsetpointer-1.0.1' is corrupt
pkg_delete: the package info for package 'xsetroot-1.0.2' is corrupt
pkg_delete: the package info for package 'xsm-1.0.1_1' is corrupt
pkg_delete: the package info for package 'xstdcmap-1.0.1' is corrupt
pkg_delete: the package info for package 'xterm-253' is corrupt
pkg_delete: the package info for package 'xtrap-1.0.2' is corrupt
pkg_delete: the package info for package 'xvidtune-1.0.1_1' is corrupt
pkg_delete: the package info for package 'xvinfo-1.0.2' is corrupt

なぜ?と思って見てみると

# ls -l xvinfo-1.0.2/
total 22
-rw-r--r--  1 root  wheel     48  4 15  2008 +COMMENT
-rw-r--r--  1 root  wheel    210  4 15  2008 +DESC
-rw-r--r--  1 root  wheel  17501  4 15  2008 +MTREE_DIRS

ファイル「+CONTENTS」が消えてしまってます。
なにこれ・・・
がっくり。

make FORCE_PKG_REGISTER=yes install するか、pkg_deleteしてから再インストールか。