自分のマシンではエラー出たりして…

ところで、自分の PowerMac G5 には DarwinPorts 1.2 が入っていて、それを selfupdate で MacPorts 1.440 にしてから同じように ffmpeg をビルドしようとしたら途中でエラーになった。こんな感じ…

--->  Fetching apr
--->  Attempting to fetch apr-1.2.8.tar.bz2 from http://www.apache.org/dist/apr
--->  Verifying checksum(s) for apr
--->  Extracting apr
--->  Configuring apr
--->  Building apr with target all
Error: Target com.apple.build returned: shell command " cd "/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_devel_apr/work/apr-1.2.8" && make all " returned error 2
<長いので省略>
In file included from misc/unix/rand.c:39:
/opt/local/include/uuid.h:94: error: conflicting types for 'uuid_t'
/usr/include/unistd.h:121: error: previous declaration of 'uuid_t' was here
make[1]: *** [misc/unix/rand.lo] Error 1
make: *** [all-recursive] Error 1

Error: The following dependencies failed to build: subversion apr apr-util db44 sqlite3 readline neon openssl
Error: Status 1 encountered during processing.

apr で uuid_t の定義がコンフリクトしてるって。なんとなく古いのと新しいのが混じってるから?なんて深く考えずに Xcode を 2.3.1 から 2.4.2 にして MacPorts をいったんキレイにアンインストールして入れ直し。そして再度 ffmpeg をビルドしたら問題無し。う〜ん、古いのと新しいのが混ざってたのが原因か?それとも Xcode のバージョンが古かったのが原因か? ま、こんなこともあったということで。