「MacPorts」で「FFmpeg」をインストールしているときにこんなエラーが出てインストールの継続ができなかった。
% sudo port install ffmpeg
Password:
---> Fetching XviD
---> Attempting to fetch xvidcore-1.1.3.tar.bz2 from http://distfiles.macports.org/XviD
---> Verifying checksum(s) for XviD
---> Extracting XviD
---> Applying patches to XviD
---> Configuring XviD
---> Building XviD
---> Staging XviD into destroot
---> Installing XviD @1.1.3_1
---> Activating XviD @1.1.3_1
---> Cleaning XviD
(略)
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_xorg-libX11/work/libX11-1.2.1" && ./configure --prefix=/opt/local --without-xcb " returned error 1
(略)
checking for XPROTO... configure: error: Package requirements (xproto >= 7.0.13) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively you may set the XPROTO_CFLAGS and XPROTO_LIBS environment variables
to avoid the need to call pkg-config. See the pkg-config man page for
more details.
Error: The following dependencies failed to build: libsdl xorg-libXext xorg-libX11 xorg-libXrandr xorg-randrproto libtheora libvorbis schroedinger liboil x264 yasm
Error: Status 1 encountered during processing.
Password:
---> Fetching XviD
---> Attempting to fetch xvidcore-1.1.3.tar.bz2 from http://distfiles.macports.org/XviD
---> Verifying checksum(s) for XviD
---> Extracting XviD
---> Applying patches to XviD
---> Configuring XviD
---> Building XviD
---> Staging XviD into destroot
---> Installing XviD @1.1.3_1
---> Activating XviD @1.1.3_1
---> Cleaning XviD
(略)
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_xorg-libX11/work/libX11-1.2.1" && ./configure --prefix=/opt/local --without-xcb " returned error 1
(略)
checking for XPROTO... configure: error: Package requirements (xproto >= 7.0.13) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively you may set the XPROTO_CFLAGS and XPROTO_LIBS environment variables
to avoid the need to call pkg-config. See the pkg-config man page for
more details.
Error: The following dependencies failed to build: libsdl xorg-libXext xorg-libX11 xorg-libXrandr xorg-randrproto libtheora libvorbis schroedinger liboil x264 yasm
Error: Status 1 encountered during processing.
エラーになった。再度実行。
% sudo port install ffmpeg
Password:
---> Configuring xorg-libX11
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_xorg-libX11/work/libX11-1.2.1" && ./configure --prefix=/opt/local --without-xcb " returned error 1
(略)
Password:
---> Configuring xorg-libX11
Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_xorg-libX11/work/libX11-1.2.1" && ./configure --prefix=/opt/local --without-xcb " returned error 1
(略)
「X11」のエラーっぽかったので色々弄ったけど解決しない。「Leopard」の「X11」はバグがあって「GIMP」を正常に使えない。このため、「X11」を入れ直していたので、「X11」だけでなく「GIMP」との依存関係も疑った。最終的に「GIMP」と「X11」を削除までした。
それでも解決せず。エラーをよく見ると「pkg-config」とあるので実行してみた。
% pkg-config
Must specify package names on the command line
Must specify package names on the command line
パッケージ名がいる? @nankiさんの推測は、「pkg-config」から「xproto」が読めていないか、環境変数が設定されていないのではとの事。「Alternatively...」の下りと「Package requirements (xproto >= 7.0.13) were not met.」を見ると、確かにそんな感じがする。「xproto.pc」を探せば良いらしい。「.pc」というのは「pkg-config」用のファイル。
パッケージの依存関係を調べるのが「pkg-config」で、「pkg-config」に情報を提供するのが「.pc」ってことか...。
% locate xproto.pc
/opt/local/lib/pkgconfig/xproto.pc
/opt/local/var/macports/software/xorg-xproto/7.0.11_1/opt/local/lib/pkgconfig/xproto.pc
/usr/X11/lib/pkgconfig/dmxproto.pc
/usr/X11/lib/pkgconfig/xproto.pc
/opt/local/lib/pkgconfig/xproto.pc
/opt/local/var/macports/software/xorg-xproto/7.0.11_1/opt/local/lib/pkgconfig/xproto.pc
/usr/X11/lib/pkgconfig/dmxproto.pc
/usr/X11/lib/pkgconfig/xproto.pc
「.pc」ファイルはあった。
% locate xproto.pc | xargs ls -al
-rw-r--r-- 2 root admin 214 5 9 09:41 /opt/local/lib/pkgconfig/xproto.pc
-rw-r--r-- 1 root admin 214 1 5 2008 /opt/local/var/macports/software/xorg-xproto/7.0.11_1/opt/local/lib/pkgconfig/xproto.pc
-rw-r--r-- 1 root wheel 184 12 28 20:01 /usr/X11/lib/pkgconfig/dmxproto.pc
-rw-r--r-- 1 root wheel 212 12 28 20:04 /usr/X11/lib/pkgconfig/xproto.pc
-rw-r--r-- 2 root admin 214 5 9 09:41 /opt/local/lib/pkgconfig/xproto.pc
-rw-r--r-- 1 root admin 214 1 5 2008 /opt/local/var/macports/software/xorg-xproto/7.0.11_1/opt/local/lib/pkgconfig/xproto.pc
-rw-r--r-- 1 root wheel 184 12 28 20:01 /usr/X11/lib/pkgconfig/dmxproto.pc
-rw-r--r-- 1 root wheel 212 12 28 20:04 /usr/X11/lib/pkgconfig/xproto.pc
権限的には見えてるはず。単純にインストールされていないとか...。いやそれなら「MacPorts」が解決してくれるはず。もしかして「.pc」だけあったりして。インストール状況を見てみる。
% port installed|grep "xproto"
xorg-xproto @7.0.11_1 (active)
xorg-xproto @7.0.15_0
xorg-xproto @7.0.11_1 (active)
xorg-xproto @7.0.15_0
原因が掴めたかも。古いバージョンのほうが有効になってる。「MacPorts」は存在しないパッケージの依存関係を調べて同時にインストールをしてくれるけど、既に入っているパッケージは変更しないと推測。確かに勝手にやられたら困る事もあるだろうなぁ。
% port active xorg-xproto
Unrecognized action "active"
Unrecognized action "active"
「activate」らしい...。
% port activate xorg-xproto
---> The following versions of xorg-xproto are currently installed:
---> xorg-xproto @7.0.11_1 (active)
---> xorg-xproto @7.0.15_0
Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry.
---> The following versions of xorg-xproto are currently installed:
---> xorg-xproto @7.0.11_1 (active)
---> xorg-xproto @7.0.15_0
Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry.
ああ、バージョンの指定...。
% port activate xorg-xproto @7.0.15_0
---> Activating xorg-xproto @7.0.15_0
Error: port activate failed: Image error: Another version of this port (xorg-xproto @7.0.11_1) is already active.
---> Activating xorg-xproto @7.0.15_0
Error: port activate failed: Image error: Another version of this port (xorg-xproto @7.0.11_1) is already active.
「active」は自動的に切り替わらないのか...。
% sudo port deactivate xorg-xproto @7.0.11_1
---> Deactivating xorg-xproto @7.0.11_1
---> Deactivating xorg-xproto @7.0.11_1
権限...。
% sudo port deactivate xorg-xproto @7.0.11_1
---> Deactivating xorg-xproto @7.0.11_1
---> Deactivating xorg-xproto @7.0.11_1
「active」な「xorg-xproto」なし。
% sudo port activate xorg-xproto @7.0.15_0
---> Activating xorg-xproto @7.0.15_0
---> Activating xorg-xproto @7.0.15_0
これで良いのかな。
% sudo port install ffmpeg
---> Configuring xorg-libX11
---> Building xorg-libX11
---> Staging xorg-libX11 into destroot
---> Installing xorg-libX11 @1.2.1_0
---> Activating xorg-libX11 @1.2.1_0
---> Cleaning xorg-libX11
(略)
---> Configuring xorg-libX11
---> Building xorg-libX11
---> Staging xorg-libX11 into destroot
---> Installing xorg-libX11 @1.2.1_0
---> Activating xorg-libX11 @1.2.1_0
---> Cleaning xorg-libX11
(略)
@ujihisaさん達につっこまれながらもとりあえずOK。インストールを継続できた。これ知らなかったら確実にハマる。