Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000966Vine Linux1 バグ公開2010-04-06 01:592010-05-23 13:18
anonymous 
munepi 
不明 
完了再現不可 
5.1 
 
x86
なし
0000966: self-build-mplayerがビルドできない
Vine Linux 5.1。
ハードウエアは Pentium4/i965Gマザー。
self-build-mplayer がビルドできない。
エラーメッセージは次のとおり。

cc -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-stateme
nt -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=i48
6 -mtune=generic -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_F
ILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -O2 -m32 -march=i386 -mtune=generic
 -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2 -D_REENT
RANT -I/usr/include/directfb -I/usr/include/SDL -D_REENTRANT -D_REENTRANT -
I/usr/include/cdda -I/usr/include/freetype2 -I/usr/include -I/usr/include/gtk-
2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/us
r/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/i
nclude/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/includ
e -DDVDNAV_USES_EXTERNAL_DVDREAD -c -o stream/stream_dvd.o stream/stream_dvd.c
cc -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-stateme
nt -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=i48
6 -mtune=generic -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_F
ILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -O2 -m32 -march=i386 -mtune=generic
 -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2 -D_REENT
RANT -I/usr/include/directfb -I/usr/include/SDL -D_REENTRANT -D_REENTRANT -
I/usr/include/cdda -I/usr/include/freetype2 -I/usr/include -I/usr/include/gtk-
2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/us
r/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/i
nclude/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/includ
e -DDVDNAV_USES_EXTERNAL_DVDREAD -c -o stream/stream_dvd_common.o stream/strea
m_dvd_common.c
stream/stream_dvd.c: In function 'dvd_parse_chapter_range':
stream/stream_dvd.c:171: warning: passing argument 2 of 'strtol' from incompatib
le pointer type
stream/stream_dvd.c: In function 'dvd_seek_to_time':
stream/stream_dvd.c:648: error: 'vts_tmapt_t' undeclared (first use in this func
tion)
stream/stream_dvd.c:648: error: (Each undeclared identifier is reported only onc
e
stream/stream_dvd.c:648: error: for each function it appears in.)
stream/stream_dvd.c:648: error: 'vts_tmapt' undeclared (first use in this functi
on)
stream/stream_dvd.c: In function 'open_s':
stream/stream_dvd.c:878: warning: implicit declaration of function 'DVDDiscID'
stream/stream_dvd.c:886: warning: implicit declaration of function 'DVDUDFVolume
Info'
stream/stream_dvd.c:886: warning: implicit declaration of function 'DVDISOVolume
Info'
make: *** [stream/stream_dvd.o] エラー 1
設定されていません。
bz2 self-build-mplayer.log.bz2 (30,823) 2010-04-09 01:30
http://mantis.vinelinux.org/file_download.php?file_id=208&type=bug
log self-build-mplayer.log (785,066) 2010-04-09 19:38
http://mantis.vinelinux.org/file_download.php?file_id=209&type=bug
? stream_dvd.i (252,772) 2010-04-17 00:58
http://mantis.vinelinux.org/file_download.php?file_id=210&type=bug
? ifo_types.h (18,848) 2010-04-18 16:01
http://mantis.vinelinux.org/file_download.php?file_id=211&type=bug
? mplayer.spec (13,214) 2010-05-13 21:22
http://mantis.vinelinux.org/file_download.php?file_id=212&type=bug
課題の履歴
2010-04-06 01:59anonymous新規課題
2010-04-08 10:40munepi担当者 => munepi
2010-04-08 10:40munepiコメント追加: 0004070
2010-04-08 21:19anonymousコメント追加: 0004071
2010-04-09 01:26munepiコメント追加: 0004072
2010-04-09 01:30munepi添付ファイル追加: self-build-mplayer.log.bz2
2010-04-09 01:30munepiコメント追加: 0004073
2010-04-09 19:38anonymous添付ファイル追加: self-build-mplayer.log
2010-04-09 19:38anonymousコメント追加: 0004074
2010-04-17 00:58anonymous添付ファイル追加: stream_dvd.i
2010-04-17 00:58anonymousコメント追加: 0004075
2010-04-18 16:01munepi添付ファイル追加: ifo_types.h
2010-04-18 16:01munepiコメント追加: 0004076
2010-04-18 20:16anonymousコメント追加: 0004077
2010-05-03 09:35munepiコメント追加: 0004078
2010-05-03 09:41munepiコメント追加: 0004079
2010-05-03 22:17anonymousコメント追加: 0004080
2010-05-04 08:43munepiコメント追加: 0004081
2010-05-04 15:43anonymousコメント追加: 0004082
2010-05-05 08:25munepi状態新規 => 完了
2010-05-05 08:25munepi解決状況不明 => 再現不可
2010-05-05 08:25munepiコメント追加: 0004083
2010-05-08 21:44anonymousコメント追加: 0004084
2010-05-12 03:37munepiコメント追加: 0004085
2010-05-13 21:22anonymous添付ファイル追加: mplayer.spec
2010-05-13 21:22anonymousコメント追加: 0004086
2010-05-14 00:50munepiコメント追加: 0004087
2010-05-23 13:18anonymousコメント追加: 0004088

コメント
(0004070)
munepi   
2010-04-08 10:40   
ご報告下さいましてどうも有り難うございます。

ご報告頂きましたビルドログは、当方に時間が確保できずにまだ追っておりませんが、
5.1 の self-build-mplayer は、手元の任意の環境で vbuilder によるテストが成功しております。
 # vbuilder というのは、chroot 環境に素の環境を構築する仕組みです。
 # chroot 環境の中で、self-build-mplayer のビルドに必要な依存関係を解決した上で、
 # self-build-mplayer のビルドをし、インストールまで行ってくれます。

大変お手数をおかけしますが、
以下のスクリプトの実行結果も貼り付けて頂けないでしょうか?

 http://trac.vinelinux.org/browser/people/munepi/scripts/check-self-build-packages.sh [^]
 # 上記にブラウザでアクセスした上でダウンロード下さいませ。

このチェックスクリプト自体も試作中なのですが、
少なくとも投稿者の self-build の環境がこちらにも見えてくる1つの情報源です。
(0004071)
anonymous   
2010-04-08 21:19   
munepi さま。実行結果です。
[1557]~/Download % はシェルのプロンプトです。
よろしくお願いします。

[1557]~/Download % bash check-self-build-packages.sh
======================================================================
  SELF-BUILD SYSTEM REPORT
        DATE: Thu Apr 8 21:04:32 JST 2010
        HOSTNAME: crimson
        OS: Vine Linux 5.1 (Cheval Blanc)
        KERNEL: Linux crimson 2.6.27-52vl5 0000001 SMP Sun Jan 10 12:15:18 JST 2010 i686 i686 i386 GNU/Linux
        %_arch: i386
======================================================================

self-build-a52dec: self-build-a52dec-0.7.4-4vl5
        a52dec-0.7.4-4vl5: OK
        a52dec-devel-0.7.4-4vl5: OK
self-build-faac: self-build-faac-1.28-3vl5
        faac-1.28-3vl5: OK
        faac-devel-1.28-3vl5: OK
self-build-faad2: self-build-faad2-2.6.1-4vl5
        faad2-2.6.1-4vl5: OK
        faad2-devel-2.6.1-4vl5: OK
self-build-ffmpeg: self-build-ffmpeg-0.5-6vl5
        ffmpeg-0.5-6vl5: OK
        ffmpeg-libs-0.5-6vl5: OK
        ffmpeg-devel-0.5-6vl5: OK
self-build-ffmpeg-mh: self-build-ffmpeg-mh-0.33-10vl5
        ffmpeg-mh-0.33-10vl5: OK
self-build-gpac: self-build-gpac-0.4.5-6vl5
        gpac-0.4.5-6vl5: OK
        gpac-libs-0.4.5-6vl5: OK
        gpac-devel-0.4.5-6vl5: OK
        gpac-devel-static-0.4.5-6vl5: OK
self-build-gstreamer-plugins-ffmpeg: self-build-gstreamer-plugins-ffmpeg-0.10.8-1vl5
        gstreamer-plugins-ffmpeg-0.10.8-1vl5: OK
self-build-lame: self-build-lame-3.98.2-2vl5
        lame-3.98.2-2vl5: OK
        lame-mp3x-3.98.2-2vl5: OK
        lame-devel-3.98.2-2vl5: OK
self-build-libdca: self-build-libdca-0.0.5-3vl5
        libdca-0.0.5-3vl5: OK
        libdca-devel-0.0.5-3vl5: OK
        libdca-tools-0.0.5-3vl5: OK
self-build-libdvbpsi: self-build-libdvbpsi-0.1.6-1vl5
        libdvbpsi-0.1.6-1vl5: OK
        libdvbpsi-devel-0.1.6-1vl5: OK
self-build-libdvdcss: self-build-libdvdcss-1.2.10-2vl5
        libdvdcss2-1.2.10-2vl5: OK
        libdvdcss2-devel-1.2.10-2vl5: OK
self-build-libdvdnav: self-build-libdvdnav-4.1.3-4vl5
        libdvdnav-4.1.3-4vl5: OK
        libdvdnav-devel-4.1.3-4vl5: OK
self-build-libmad: self-build-libmad-0.15.1b-5vl5
        libmad-0.15.1b-5vl5: OK
        libmad-devel-0.15.1b-5vl5: OK
self-build-libmp4v2: self-build-libmp4v2-1.5.0.1-2vl5
        libmp4v2-1.5.0.1-2vl5: OK
        libmp4v2-devel-1.5.0.1-2vl5: OK
self-build-libmpeg2: self-build-libmpeg2-0.5.1-3vl5
        libmpeg2-0.5.1-3vl5: OK
        mpeg2dec-0.5.1-3vl5: OK
        libmpeg2-devel-0.5.1-3vl5: OK
self-build-libquicktime: self-build-libquicktime-1.1.2-1vl5
        libquicktime-1.1.2-1vl5: OK
        libquicktime-devel-1.1.2-1vl5: OK
self-build-mplayer-codecs: self-build-mplayer-codecs-20071007-5vl5
        mplayer-codecs-20071007-5vl5: OK
self-build-nautilus-dropbox: self-build-nautilus-dropbox-0.6.1-1vl5
        nautilus-dropbox-0.6.1-1vl5: OK
        nautilus-dropbox-images-nonfree-0.6.1-1vl5: OK
self-build-vlc: self-build-vlc-1.0.4-2vl5
        vlc-1.0.4-2vl5: OK
        vlc-devel-1.0.4-2vl5: OK
self-build-x264: self-build-x264-0.0.0-11.20090522vl5
        x264-0.0.0-11.20090522vl5: OK
        x264-devel-0.0.0-11.20090522vl5: OK
self-build-xine-lib-extras: self-build-xine-lib-extras-1.1.16.3-2vl5
        xine-lib-extras-1.1.16.3-2vl5: OK
        xine-lib-mad-1.1.16.3-2vl5: OK
        xine-lib-faad-1.1.16.3-2vl5: OK
        xine-lib-a52dec-1.1.16.3-2vl5: OK
self-build-xvidcore: self-build-xvidcore-1.2.1-3vl5
        xvidcore-1.2.1-3vl5: OK
        xvidcore-devel-1.2.1-3vl5: OK

======================================================================
  SUMMARY
All self-build packages in your system have successfully been installed.
======================================================================
[1558]~/Download %
(0004072)
munepi   
2010-04-09 01:26   
早速どうもありがとうございました。

念のため、当方の手元で再度 vbuilder にてテストしてみましたが、全く問題ありませんでした。
 $ sudo vbuilder --version 5.1_i386 clean build install-rpm self-build-mplayer
このときのビルドログ self-build-mplayer.log を添付致します。

さて、ビルドエラーとなっている箇所で、
> stream/stream_dvd.c: In function 'dvd_parse_chapter_range':
> stream/stream_dvd.c:171: warning: passing argument 2 of 'strtol' from incompatible pointer type
> stream/stream_dvd.c: In function 'dvd_seek_to_time':
> stream/stream_dvd.c:648: error: 'vts_tmapt_t' undeclared (first use in this function)
> stream/stream_dvd.c:648: error: (Each undeclared identifier is reported only once
> stream/stream_dvd.c:648: error: for each function it appears in.)
> stream/stream_dvd.c:648: error: 'vts_tmapt' undeclared (first use in this function)
とあります。
vts_tmapt_t が宣言されてないと怒られていますが、
check-self-build-packages.sh によると、

> self-build-libdvdnav: self-build-libdvdnav-4.1.3-4vl5
> libdvdnav-4.1.3-4vl5: OK
> libdvdnav-devel-4.1.3-4vl5: OK

にあるように、libdvdnav のビルドは問題ないので、
libdvdread-devel がインストールされているはずなんですね。
mplayer.spec の ./configure でも --enable-dvdread を入れているので、
libdvdread-devel が入っていないとは考えにくいです。
 # 念のため、以下をチェックして頂けますか?
 # $ rpm -q libdvdread-devel

なので、vts_tmapt_t は見つかると思うんです。

もしかしてパラレルメイクが失敗することってあるんでしょうか?

 $ apt-get source self-build-mplayer
でソースを取得します。
デフォルトだと、${HOME}/rpm/SOURCES/mplayer.spec が展開されているはずですので、
mplayer.spec の161 行目を以下のように書き換えて頂けますか?

 %{__make} %{?_smp_mflags}



 %{__make}

に変更。

これでビルド可能でしょうか?
 $ rpmbuild -ba ${HOME}/rpm/SPECS/self-build-mplayer.spec
 $ sudo apt-get reinstall ${HOME}/rpm/noarch/self-build-mplayer-XXXXXXXXnoarch.rpm
(0004073)
munepi   
2010-04-09 01:30   
> 念のため、当方の手元で再度 vbuilder にてテストしてみましたが、全く問題あ
> りませんでした。
> $ sudo vbuilder --version 5.1_i386 clean build install-rpm self-build-mplayer
> このときのビルドログ self-build-mplayer.log を添付致します。
添付漏れでした。
(0004074)
anonymous   
2010-04-09 19:38   
サポート感謝します。

2010年4月9日1:26 <munepi@vinelinux.org>:
> # 念のため、以下をチェックして頂けますか?
> # $ rpm -q libdvdread-devel

[1563]~ % rpm -q libdvdread-devel
libdvdread-devel-4.1.3-3vl5
[1564]~ %

入っている見たいです。
以下の実行結果についても報告しておきます。

[1572]/usr/include/dvdread % grep vts_tmapt_t *
ifo_types.h:} ATTRIBUTE_PACKED vts_tmapt_t;
ifo_types.h: vts_tmapt_t *vts_tmapt;
[1573]/usr/include/dvdread %

> $ apt-get source self-build-mplayer
> でソースを取得します。

> に変更。

変更しました。

> これでビルド可能でしょうか?
> $ rpmbuild -ba ${HOME}/rpm/SPECS/self-build-mplayer.spec

[1586]~/rpm % rpmbuild -ba ${HOME}/rpm/SPECS/self-build-mplayer.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.62
+ umask 022
+ cd /home/nkon-v51/rpm/BUILD
++ rpm -q --queryformat '%{version}-%{release}\n' --specfile /home/nkon-v51/rpm/
SOURCES/mplayer.spec
++ tail -1
+ '[' 1.0-28.20091031vl5 '!=' 1.0-28.20091031vl5 ']'
+ exit 0
実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.62
+ umask 022
+ cd /home/nkon-v51/rpm/BUILD
+ /bin/rm -rf /var/tmp/self-build-mplayer-1.0-root
+ /usr/bin/install -d /var/tmp/self-build-mplayer-1.0-root//usr/share/self-build
-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer.spec /var/tmp/self-
build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-export-20091031.tar
.bz2 /var/tmp/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/Blue-1.7.tar.bz2 /var/tmp/s
elf-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-config-20091215-vin
e.patch /var/tmp/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-20091215-x86_32-com
pile.patch /var/tmp/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-manlinks.patch /var
/tmp/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-qcelp.patch /var/tm
p/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/bin/install -m 644 /home/nkon-v51/rpm/SOURCES/mplayer-20090522-nodvdcss.p
atch /var/tmp/self-build-mplayer-1.0-root//usr/share/self-build-mplayer
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip
+ /usr/lib/rpm/brp-strip-shared
+ /usr/lib/rpm/brp-strip-static-archive
+ /usr/lib/rpm/brp-strip-comment-note
ファイルの処理中: self-build-mplayer-1.0-28.20091031vl5
Finding Provides: /usr/lib/rpm/find-provides
Finding Requires: /usr/lib/rpm/find-requires
Requires(interp): /bin/sh
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileN
ames) <= 3.0.4-1
Requires(post): self-build-setup >= 0.8 subversion gtk2-devel freetype2-devel SD
L-devel alsa-lib-devel esound-devel cdparanoia-devel libvorbis-devel libjpeg-dev
el libpng-devel giflib-devel zlib-devel libdvdread libmpcdec-devel twolame-devel
 yasm self-build-mplayer-codecs self-build-libdvdcss self-build-libdvdnav self-b
uild-faac self-build-faad2 >= 2.6 self-build-lame self-build-libdca self-build-l
ibmad self-build-x264 >= 0.0.0-9.20090522 self-build-xvidcore >= 0.9.2 xorg-x11-
devel mesa-libGL-devel
パッケージに未収録のファイルを検査中: /usr/lib/rpm/check-files /var/tmp/self-bui
ld-mplayer-1.0-root
書き込み完了: /home/nkon-v51/rpm/SRPMS/self-build-mplayer-1.0-28.20091031vl5.src
.rpm
書き込み完了: /home/nkon-v51/rpm/RPMS/noarch/self-build-mplayer-1.0-28.20091031v
l5.noarch.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.78139
+ umask 022
+ cd /home/nkon-v51/rpm/BUILD
+ /bin/rm -rf /var/tmp/self-build-mplayer-1.0-root
+ exit 0
[1587]~/rpm %

> $ sudo apt-get reinstall ${HOME}/rpm/noarch/self-build-mplayer-XXXXXXXXnoarch.rpm

[1615]~/rpm % sudo apt-get reinstall ${HOME}/rpm/RPMS/noarch/self-build-mplayer-1.0-28.20091031vl5.noarch.rpm
[sudo] password for nkon:
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
'/home/nkon-v51/rpm/RPMS/noarch/self-build-mplayer-1.0-28.20091031vl5.noarch.rpm' として self-build-mplayer を選択しました
以下のパッケージが新たにインストールされます:
  self-build-mplayer
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
0B/8735kB のアーカイブを取得する必要があります。
展開後に 8740kB のディスク容量が追加消費されます。
変更を適用しています...
準備中 ############################## [100%]
更新/インストール中
  self-build-mplayer-1.0-28.20091031vl5. ############################## [100%]
     rpm パッケージの作成を開始します。(self-build-mplayer)
     ソースファイルをダウンロードしています...
     ソースファイルのダウンロードが完了しました。
     rpm パッケージをビルドしています...
      (詳細は /var/tmp/self-build-mplayer.log を参照してください。)
      --%[============================================================>]
      --%[============================================================>]
      --%[===================>]
     rpm パッケージのビルドが完了しました。
完了
[1616]~/rpm %

完了と出ますが、ログを見てみるとエラーになっていました。
ログを添付します。
(0004075)
anonymous   
2010-04-17 00:58   
エラーメッセージなどを頼りに自分ですこし調べてみました。

mplayer-export/20091031/stream/stream_dvd.c において、
ちゃんと /usr/include/dvdread/ifo_types.h が展開されていないように思います。

cc -E stream_dvd.c > stream_dvd.i した結果と
diff -u stream_dvd.c.orig stream_dvd.c の結果を添付します。
このように stream_dvd.c を修正しました。

これで rpmbuild -ba rpm/SOURCE/mplayer.spec したら、
ちゃんと mplayer-1.0-28.20091031vl5.i386.rpm ができました。
インストールして、軽く動かしてみたら、一応動いているみたいです。

解析、ご検討のほど、よろしくお願いします。

----------------------------------------------------------------------
[1829]~ % diff -u rpm/BUILD/mplayer-export-20091031/stream/stream_dvd.c stream_dvd.c
--- rpm/BUILD/mplayer-export-20091031/stream/stream_dvd.c 2009-11-01 02:16:31.000000000 +0900
+++ stream_dvd.c 2010-04-17 00:27:04.000000000 +0900
@@ -36,7 +36,38 @@
 #include "m_option.h"
 #include "m_struct.h"
 
+/**
+ * Time Map Entry.
+ */
+/* Should this be bit field at all or just the uint32_t? */
+typedef uint32_t map_ent_t;
+
 #include "stream_dvd.h"
+
+/**
+ * Time Map.
+ */
+typedef struct {
+ uint8_t tmu; /* Time unit, in seconds */
+ uint8_t zero_1;
+ uint16_t nr_of_entries;
+ map_ent_t *map_ent;
+} ATTRIBUTE_PACKED vts_tmap_t;
+#define VTS_TMAP_SIZE 4U
+
+/**
+ * Time Map Table.
+ */
+typedef struct {
+ uint16_t nr_of_tmaps;
+ uint16_t zero_1;
+ uint32_t last_byte;
+ vts_tmap_t *tmap;
+ uint32_t *tmap_offset; /* offset table for each tmap */
+} ATTRIBUTE_PACKED vts_tmapt_t;
+#define VTS_TMAPT_SIZE 8U
+
+
 #include "stream_dvd_common.h"
 #include "libmpdemux/demuxer.h"
 #include "libavutil/intreadwrite.h"

----------------------------------------------------------------------
(0004076)
munepi   
2010-04-18 16:01   
> エラーメッセージなどを頼りに自分ですこし調べてみました。
>
> mplayer-export/20091031/stream/stream_dvd.c において、
> ちゃんと /usr/include/dvdread/ifo_types.h が展開されていないように思いま
> す。

libdvdread-devel が正しく展開されていないのかもしれませんね。
libdvdread-devel-4.1.3-3 がインストールされている環境
(手元の Vine Linux 5.1 i386, VineSeed x86_64 で確認)で、
 $ md5sum /usr/include/dvdread/*
をした結果を以下に貼りました。
libdvdread-devel-headers.md5sum などで保存して、
 $ md5sum --check libdvdread-devel-headers.md5sum
を確認していただけませんか?

 12f4f2887fb14ae96d0844cb34705a50 /usr/include/dvdread/bitreader.h
 d9aa8d88635bb0d42d9a92b868a3a6ae /usr/include/dvdread/dvd_reader.h
 18882527aa32ccd95aaa19a0c6f80423 /usr/include/dvdread/dvd_udf.h
 890a65bb958df48c648ee9dcf68dba7b /usr/include/dvdread/ifo_print.h
 59c06aed7b7053fb83000bae0d4cf4a6 /usr/include/dvdread/ifo_read.h
 7f5d6f23a2917c049f052da559a39d5c /usr/include/dvdread/ifo_types.h
 fcc67af837ed36757973d2e6af342ba5 /usr/include/dvdread/nav_print.h
 a76d95526e61059d08b2bfde783a7f49 /usr/include/dvdread/nav_read.h
 86cfee27689ed196c04294c6aec3b326 /usr/include/dvdread/nav_types.h

> cc -E stream_dvd.c > stream_dvd.i した結果と
> diff -u stream_dvd.c.orig stream_dvd.c の結果を添付します。
> このように stream_dvd.c を修正しました。
>
> これで rpmbuild -ba rpm/SOURCE/mplayer.spec したら、
> ちゃんと mplayer-1.0-28.20091031vl5.i386.rpm ができました。
> インストールして、軽く動かしてみたら、一応動いているみたいです。

/usr/include/dvdread/ifo_types.h を貼り込んでいたら、いけるはずですよね。
念のため、/usr/include/dvdread/ifo_types.h を添付します。

取り急ぎ、ここまでです。
(0004077)
anonymous   
2010-04-18 20:16   
ご返信ありがとうございます。
以下、結果を報告します。

> libdvdread-devel が正しく展開されていないのかもしれませんね。
> libdvdread-devel-4.1.3-3 がインストールされている環境
> (手元の Vine Linux 5.1 i386, VineSeed x86_64 で確認)で、
> $ md5sum /usr/include/dvdread/*
> をした結果を以下に貼りました。
> libdvdread-devel-headers.md5sum などで保存して、
> $ md5sum --check libdvdread-devel-headers.md5sum
> を確認していただけませんか?
>
> 12f4f2887fb14ae96d0844cb34705a50 /usr/include/dvdread/bitreader.h
> d9aa8d88635bb0d42d9a92b868a3a6ae /usr/include/dvdread/dvd_reader.h
> 18882527aa32ccd95aaa19a0c6f80423 /usr/include/dvdread/dvd_udf.h
> 890a65bb958df48c648ee9dcf68dba7b /usr/include/dvdread/ifo_print.h
> 59c06aed7b7053fb83000bae0d4cf4a6 /usr/include/dvdread/ifo_read.h
> 7f5d6f23a2917c049f052da559a39d5c /usr/include/dvdread/ifo_types.h
> fcc67af837ed36757973d2e6af342ba5 /usr/include/dvdread/nav_print.h
> a76d95526e61059d08b2bfde783a7f49 /usr/include/dvdread/nav_read.h
> 86cfee27689ed196c04294c6aec3b326 /usr/include/dvdread/nav_types.h

[2415]~ % md5sum /usr/include/dvdread/*
12f4f2887fb14ae96d0844cb34705a50 /usr/include/dvdread/bitreader.h
d9aa8d88635bb0d42d9a92b868a3a6ae /usr/include/dvdread/dvd_reader.h
18882527aa32ccd95aaa19a0c6f80423 /usr/include/dvdread/dvd_udf.h
890a65bb958df48c648ee9dcf68dba7b /usr/include/dvdread/ifo_print.h
59c06aed7b7053fb83000bae0d4cf4a6 /usr/include/dvdread/ifo_read.h
7f5d6f23a2917c049f052da559a39d5c /usr/include/dvdread/ifo_types.h
fcc67af837ed36757973d2e6af342ba5 /usr/include/dvdread/nav_print.h
a76d95526e61059d08b2bfde783a7f49 /usr/include/dvdread/nav_read.h
86cfee27689ed196c04294c6aec3b326 /usr/include/dvdread/nav_types.h
[2416]~ % md5sum --check libdvdread-devel-headers.md5sum
/usr/include/dvdread/bitreader.h: 完了
/usr/include/dvdread/dvd_reader.h: 完了
/usr/include/dvdread/dvd_udf.h: 完了
/usr/include/dvdread/ifo_print.h: 完了
/usr/include/dvdread/ifo_read.h: 完了
/usr/include/dvdread/ifo_types.h: 完了
/usr/include/dvdread/nav_print.h: 完了
/usr/include/dvdread/nav_read.h: 完了
/usr/include/dvdread/nav_types.h: 完了
[2417]~ % diff /usr/include/dvdread/ifo_types.h ~/Download/ifo_types.h

> 念のため、/usr/include/dvdread/ifo_types.h を添付します。

上の実行結果のとおり、手元のファイルと添付していただいたファイルを比較しても差はありませんでした。
(0004078)
munepi   
2010-05-03 09:35   
ご報告をありがとうございました。

libdvdread-devel 自体が問題なく導入されているとなると、
大変申し訳ないのですが、
当方の環境では、投稿者の不具合を全く再現できません。
あれから、self-build-mplayer.log から、
gcc に -m や -H のオプションを付加してヘッダファイルの読み込みをチェックしたり、
システム内の全ヘッダファイルリストを取って、どこか重複していないか等チェックしたりもしました。

また、他の数名の Vine Linux 開発者にもテストして頂いたのですが、
全く再現できませんでした。

私の技術不足でもあるのですが、
他の第三者による同一不具合の再現例がないと
見地を見いだせない状況です。

現時点のリポジトリにある self-build-mplayer パッケージは、
vbuilder という仕組みにより
ビルド依存欠如がないことを確認してリポジトリに入れています。
# vbuilder については、こちらにまとめてあります。
# http://trac.vinelinux.org/wiki/VineBootstrap [^]

もし vbuilder を使って、chroot 環境上で
(ネットワーク上のエラーおよびメモリ不足等のハードウェア上の一時的なエラーでない限り、)
self-build-mplayer の self-build ビルドが成功するのであれば、
何か他の原因が分かるかもしれません。
もしvbuilderによるself-buildを試していただけるのでしたら、
以下を実行して下さいませ。

 $ sudo apt-get install vbootstrap
 $ sudo vbuilder clean build install-rpm self-build-mplayer
(0004079)
munepi   
2010-05-03 09:41   
すみません、以下のコマンドラインを訂正します。
> $ sudo apt-get install vbootstrap
> $ sudo vbuilder clean build install-rpm self-build-mplayer

 $ sudo apt-get install vbootstrap
 $ sudo vbuilder --version 5.1 clean build install-rpm self-build-mplayer

# IRC #Vine にて、早々に間違いをご指摘下さった岩井さん、有り難うございます。
(0004080)
anonymous   
2010-05-03 22:17   
ご対応ありがとうございます。

下記のエラーで vbuilder は失敗しました。

[2735]~ % sudo vbuilder --version 5.1 clean build install-rpm self-build-mplayer
・・・
以下の取得に失敗しました: http://updates.vinelinux.org/apt/5.1/i386/RPMS.main/libgnomeui-devel-2.24.1-2vl5.i386.rpm [^] Error reading from server - read (104 Connection reset by peer)
E: 幾つかのアーカイブが取得できません。'apt-get update' を実行するか、--fix-missing オプションを試して下さい。
apt-get update on host ... done.

開発者の方々の手元で再現できないこと、私の手元でも、上記のとおりの手修正で、mplayer がビルドできて使えていること、から、バグ報告を取り下げます。

お手数をお掛けしました。
(0004081)
munepi   
2010-05-04 08:43   
おはようございます。

> ご対応ありがとうございます。
>
> 下記のエラーで vbuilder は失敗しました。
>
> [2735]~ % sudo vbuilder --version 5.1 clean build install-rpm self-build-
> mplayer
> ・・・
> 以下の取得に失敗しました:
> http://updates.vinelinux.org/apt/5.1/i386/RPMS.main/libgnomeui-devel- [^]
> 2.24.1-2vl5.i386.rpm Error reading from server - read (104 Connection
> reset by peer)
> E: 幾つかのアーカイブが取得できません。'apt-get update' を実行するか、--
> fix-missing オプションを試して下さい。
> apt-get update on host ... done.
これは、単に rpm の取得に失敗しただけです。
うちでもしばしば起こりますが、
十分速いネットワーク環境において、
rpmの取得が速すぎてしまうと、
取得に失敗してしまうことがあるようです。

> 開発者の方々の手元で再現できないこと、私の手元でも、上記のとおりの手修正
> で、mplayer がビルドできて使えていること、から、バグ報告を取り下げます。
取り下げるのはいつでもできますので、
もし可能でしたら、この vbuilder での self-build にお付き合い頂けませんでしょうか?

お手数ですが、再度(必要であれば、rpm 取得がすべて成功して、
mplayer のビルドが始まるまで、何度か(^^; )、
以下を実行していただけますでしょうか?
 $ sudo vbuilder --version 5.1 clean build install-rpm self-build-mplayer

 # vbuilder で取得された rpm は、デフォルトで
 # /var/vbootstrap/cache 以下にキャッシュされて、
 # 再び同じ chroot を vbuilder から構築した場合には、
 # キャッシュされていた rpm が生かされます。
(0004082)
anonymous   
2010-05-04 15:43   
ご指示のとおり、何度かやってみたらビルドに成功しました。
rpm -Uvh --force mplayer-1.0-28.20091031vl5.i386.rpm としてインストールしたら、正常に動いているみたいです。

[2861]/var/local/vbootstrap/cache/5.1/apt/archives % md5sum *mplayer*
c61ea7b8eece7155a28072be3641d951 mplayer-1.0-28.20091031vl5.i386.rpm
343bc536705b3b22b25c4f7beb2a873a mplayer-codecs-20071007-5vl5.i386.rpm
f4db5996d651ffc5f5558e42afef27d9 self-build-mplayer-1.0-28.20091031vl5.noarch.rpm
90e3bb217884c6c0abe60e88fd5e719a self-build-mplayer-codecs-20071007-5vl5.i386.rpm
(0004083)
munepi   
2010-05-05 08:25   
おはようございます。

度々右往左往して,投稿者様にお手数ばかりお掛けしました。
vbuilder による self-build-mplayer のビルドにお付き合い下さいまして有り難うございました。

> ご指示のとおり、何度かやってみたらビルドに成功しました。
> rpm -Uvh --force mplayer-1.0-28.20091031vl5.i386.rpm としてインストールし
> たら、正常に動いているみたいです。

 vbuilder --version 5.1 clean build install-rpm self-build-mplayer
が行ったことは,chroot 環境上に,
Vine Linux 5.1 i386 の素の環境を構築し,
mplayer をビルドするために必要なパッケージをインストールした後,
mplayer をビルドし,mplayer をインストールします。

投稿者の環境においても vbuilder による self-build-mplayer のビルドが
問題なく出来てしまったということは,
投稿者の実環境において libdvdread 周りを含む開発ファイルに
何か不整合があると思われます。

もしかして以前に libdvdread を手動でインストールなさったことがありませんでしょうか?
もしくは,libdvdread-devel パッケージのヘッダファイルたちよりも先に読まれる階層に,
libdvdread のヘッダファイルがどこかに格納されているようなことはございませんでしょうか?

可能性として,libdvdread-devel に相当するファイル群が
どこか別のところから読まれているくらいしか,私には思いつきません。
 # 識者の皆様,他に想定できる原因はありますでしょうか?
gcc に -H オプションを付けることで,
どこからヘッダファイルを include しているのかが,
ビルドプロセス中に確認できます。
 # -H については,man gcc に載っています。

> 開発者の方々の手元で再現できないこと、
> 私の手元でも、上記のとおりの手修正で、
> mplayer がビルドできて使えていること、
> から、バグ報告を取り下げます。
一度,状態を「再現せず」に変更します。
何かございましたら,引き続きこちらにご投稿下さいませ。
本報告から何か致命的な不具合が見つかった場合,再オープンすることに致します。
(0004084)
anonymous   
2010-05-08 21:44   
フォローをありがとうございます。
状態の変更については了解しました。

> vbuilder --version 5.1 clean build install-rpm self-build-mplayer
> が行ったことは,chroot 環境上に,
> Vine Linux 5.1 i386 の素の環境を構築し,
> mplayer をビルドするために必要なパッケージをインストールした後,
> mplayer をビルドし,mplayer をインストールします。
>
> 投稿者の環境においても vbuilder による self-build-mplayer のビルドが
> 問題なく出来てしまったということは,
> 投稿者の実環境において libdvdread 周りを含む開発ファイルに
> 何か不整合があると思われます。
>
> もしかして以前に libdvdread を手動でインストールなさったことがありません
> でしょうか?
> もしくは,libdvdread-devel パッケージのヘッダファイルたちよりも先に読まれ
> る階層に,
> libdvdread のヘッダファイルがどこかに格納されているようなことはございませ
> んでしょうか?
>
> 可能性として,libdvdread-devel に相当するファイル群が
> どこか別のところから読まれているくらいしか,私には思いつきません。
> # 識者の皆様,他に想定できる原因はありますでしょうか?
> gcc に -H オプションを付けることで,
> どこからヘッダファイルを include しているのかが,
> ビルドプロセス中に確認できます。
> # -H については,man gcc に載っています。

過去に、libdvdread を手動でインストールしたことはありません。
ただし、self-build-*** で、とくにソースファイルのダウンロードに失敗することが何度かあったので、
synaptic で何度も再インストールを試したことはあります。
-H を付けて、インクルードファイルを確かめることを vbuilder を使って行うにはどうすればいいですか?
よろしければ、後学のために教え手管さい。
(0004085)
munepi   
2010-05-12 03:37   
> -H を付けて、インクルードファイルを確かめることを vbuilder を使って行うにはどうすればいいですか?
> よろしければ、後学のために教え手管さい。

あくまでも一例としてご参考頂ければと存じます。
%build セションの直後くらいで configure を走らすまでに、

 export CC="%__cc -H" CXX="%__cxx -H"

を入れて下さい。
/usr/lib/rpm/macros を参照していただければ、実際は

 export CC="gcc -H" CXX="g++ -H"

となることが確認できます。

この後、./configure を走らすと、例えば mplayer であれば、
 
 + cd /home/munepi/rpm/BUILD
 + cd mplayer-export-20100410
 + export 'CC=gcc -H' 'CXX=g++ -H'
 + CC='gcc -H'
 + CXX='g++ -H'
 + ./configure --prefix=/usr --confdir=/etc/mplayer --enable-runtime-cpudetection '--extra-cflags=-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2' --disable-libdvdcss-internal --disable-dvdread-internal --enable-dvdread --enable-dvdnav --disable-faac-lavc --disable-mp3lame-lavc --disable-x264-lavc --disable-faad-internal --disable-libopenjpeg --disable-bitmap-font --disable-termcap --enable-xvmc --with-xvmclib=XvMCW --enable-largefiles --enable-menu --enable-gui --language=ja,en
 Checking for gcc -H version ... 4.4.3
 Detected operating system: Linux
 Detected host architecture: x86_64
 Checking for host cc ... gcc -H

のような感じの出力と得まして、gcc -H でコンパイルが進行することが分かります。
(0004086)
anonymous   
2010-05-13 21:22   
> あくまでも一例としてご参考頂ければと存じます。
> %build セションの直後くらいで configure を走らすまでに、

~/rpm/SOURCES/mplayer.spec は添付のとおりです。

> export CC="%__cc -H" CXX="%__cxx -H"

このように修正したのですが、次のようになり、提示していただいた結果とは異なります。

+ umask 022
+ cd /home/nkon-v51/rpm/BUILD
+ cd mplayer-export-20091031
+ export 'CC=%_cc -H' 'CXX=%_cxx -H'
+ CC='%_cc -H'
+ CXX='%_cxx -H'
+ ./configure --prefix=/usr --confdir=/etc/mplayer --enable-runtime-cpudetection '--extra-cflags=-O2 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2' --disable-libdvdcss-internal --disable-dvdread-internal --enable-dvdread --enable-dvdnav --disable-faad-internal --disable-bitmap-font --disable-termcap --enable-xvmc --with-xvmclib=XvMCW --enable-largefiles --enable-menu --enable-gui --language=ja,en
Checking for cc version ... 4.1.2
Detected operating system: Linux
Detected host architecture: i386
Checking for host cc ... cc
Checking for cross compilation ... no
Checking for GCC & CPU optimization abilities ... i486
Checking for byte order ... little-endian
Checking for extern symbol prefix ...

> この後、./configure を走らすと、例えば mplayer であれば、
>
> + cd /home/munepi/rpm/BUILD
> + cd mplayer-export-20100410
> + export 'CC=gcc -H' 'CXX=g++ -H'
> + CC='gcc -H'
> + CXX='g++ -H'
> + ./configure --prefix=/usr --confdir=/etc/mplayer --enable-runtime-cpudetection '--extra-cflags=-O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2' --disable-libdvdcss-internal --disable-dvdread-internal --enable-dvdread --enable-dvdnav --disable-faac-lavc --disable-mp3lame-lavc --disable-x264-lavc --disable-faad-internal --disable-libopenjpeg --disable-bitmap-font --disable-termcap --enable-xvmc --with-xvmclib=XvMCW --enable-largefiles --enable-menu --enable-gui --language=ja,en
> Checking for gcc -H version ... 4.4.3
> Detected operating system: Linux
> Detected host architecture: x86_64
> Checking for host cc ... gcc -H


> を入れて下さい。
> /usr/lib/rpm/macros を参照していただければ、実際は
>
> export CC="gcc -H" CXX="g++ -H"
>
> となることが確認できます。

~/.rpmmacros は次のとおりです。
デフォルトのまま改変していないはずです。
/usr/lib/rpm/macros も改変していません。

[nkon@crimson ~]$ cat ~/.rpmmacros
%_topdir ${HOME}/rpm

# gpg signing
# %_signature gpg
# %_gpg_name Your Name <your mail address>
(0004087)
munepi   
2010-05-14 00:50   
> あくまでも一例としてご参考頂ければと存じます。
と、一応書いておりましたが、私の書き方も悪くて、意図が伝わっていなかったですね。
大変お手数をお掛けしました。すみません。
上記 18 番目の投稿を伏せておいてください。

では、Vine Linux 5.1 の self-build-mplayer-1.0-28.20091031vl5.src.rpm 限定で説明します。
当方の環境は x86_64 です。

いきなり mplayer.spec をいじらずに、まずは、通常のソースアーカイブ展開 -> ./configure -> make で確認してみます。
self-build-mplayer のソースを apt-get から取得します。

 $ apt-get source self-build-mplayer

同梱されている mplayer.spec を利用して、rpmbuild -bp から mplayer のソース展開+いくつかのパッチ当てなどの前処理段階までしておきます。

 $ rpmbuild -bp ~/rpm/SOURCES/mplayer.spec

cd コマンドで mplayer のソースが展開されたディレクトリへ移動し、./configure を一度実行して下さい。

 $ cd ~/rpm/BUILD/mplayer-export-20091031/
 $ ./configure
 Checking for cc version ... 4.1.2
 Detected operating system: Linux
 Detected host architecture: x86_64
 Checking for host cc ... cc
 (省略)

./configure から cc を使ってビルドされることがわかります。CC を cc -H として export してから、再度 ./configure を実行して下さい。

 $ export CC="cc -H"
 $ ./configure
 Checking for cc -H version ... 4.1.2
 Detected operating system: Linux
 Detected host architecture: x86_64
 Checking for host cc ... cc -H
 (省略)

ちゃんと cc コンパイラにオプション "-H" が付いています。 make を少しだけ走らせてみて下さい。ソースファイルから読んでいるヘッダファイルのパスも階層立てて出力されます。

上記のことが確認できましたら、実際に mplayer.spec の %build セションにも書き込んで同様な出力が得られるか確認なさって下さい。

ご存知かもしれませんが、いくつか補足します。

 $ ./configure --help

を見ますと、今回目的にコンパイラにオプションを付加するのに使える オプションがあります。

 Miscellaneous options:
   --cc=COMPILER C compiler to build MPlayer [gcc]
   --host-cc=COMPILER C compiler for tools needed while building [gcc]

export CC="cc -H" もしくは export CC="gcc -H" とはせずに、これらの configure オプションに直接、

 ./configure --cc="cc -H" --host-cc="cc -H"

としてもよいでしょう。

# すでに、self-build-mplayer の話では無くなってきました (^^
(0004088)
anonymous   
2010-05-23 13:18   
返信が遅れてすみません。
-H オプションを使ってテストビルドしてみたところ、
/usr/local/include/ にある dvdread/*.h を読み込んでいることが判明しました。
これを消すと正常にビルドが完了することが確認できました。

/usr/local 以下はバージョンアップの際に使いまわししていたのです。

当方の環境に原因があることがわかり、正常にビルドできることもわかりました。
どうもお手数をお掛けしました。ご指導、感謝します。