at_takuya.sasaki
2015年5月5日 19時03分
過去にフォーラムで投稿されていた gst-plugins-bad をビルドする方法を、実際に試してみた際のメモです。
1. Debianブートディスクの作成
以下を参照して、SDカードに Debian環境を構築してArmadillo-840をDebianで起動してください。
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.1.0/ch15.html
2. パッケージのアップデート/アップグレード
インターネットに接続できる状態にした後、まずは時刻合わせをします。
root@debian:~# date --set="2015/05/05 18:57" Tue May 5 18:57:00 JST 2015
apt-getでパッケージのアップデート/アップグレードを実施してください。
root@debian:~# apt-get update root@debian:~# apt-get upgrade
私の環境だけかもしれませんが、アップデートの際に以下のログが出ました。
W: There is no public key available for the following key IDs: 9D6D8F6BC857C906 W: There is no public key available for the following key IDs: 7638D0442B90D010 W: There is no public key available for the following key IDs: 7638D0442B90D010
Web検索してみると、以下のパッケージを入れることで解消できるようです。
root@debian:~# apt-get install debian-archive-keyring
3. dbkg-devのインストール
root@debian:~# apt-get install dpkg-dev
4. パッケージのダウンロードと、解凍
まずはオリジナルのソースコードをダウンロードします。
root@debian:~# wget http://snapshot.debian.org/archive/debian/20130713T214042Z/pool/main/g/gst-plugins-bad1.0/gst-plugins-bad1.0_1.0.8.orig.tar.xz
次にアットマークテクノサイトからパッチを含んだDebianディレクトリをダウンロードします。
他のパッケージなどは以下からダウンロード可能です。
http://download.atmark-techno.com/armadillo-840/cross-dev/source/
root@debian:~# wget http://download.atmark-techno.com/armadillo-840/cross-dev/source/gst-plugins-bad1.0_1.0.8-1atmark1.debian.tar.gz
それぞれ、解凍します。
root@debian:~# tar Jxf gst-plugins-bad1.0_1.0.8.orig.tar.xz root@debian:~# tar zxf gst-plugins-bad1.0_1.0.8-1atmark1.debian.tar.gz -C gst-plugins-bad-1.0.8/
5. 依存関係のチェックと、必要なパッケージのインストール
まずは以下のコマンドで、ビルドに必要なパッケージを調べます。
root@debian:~# cd gst-plugins-bad-1.0.8/ root@debian:~/gst-plugins-bad-1.0.8# dpkg-checkbuilddeps dpkg-checkbuilddeps: Unmet build dependencies: autoconf (>= 2.62) automake (>= 1.11) autopoint (>= 0.17) autotools-dev cdbs (>= 0.4.93) debhelper (>= 9) dh-autoreconf flite-dev libasound2-dev (>= 0.9.1) libcdaudio-dev libdc1394-22-dev (>= 2.0.0) libgudev-1.0-dev (>= 143) libusb-1.0-0-dev libgstreamer1.0-dev (>= 1.0.0) gstreamer1.0-doc gstreamer1.0-plugins-base (>= 1.0.0) gstreamer1.0-plugins-base-doc gtk-doc-tools (>= 1.12) ladspa-sdk libass-dev (>= 0.9.4) libbz2-dev libcairo2-dev libcurl4-gnutls-dev (>= 7.21.0) libdca-dev libdirac-dev (>= 0.10) libdirectfb-dev (>= 0.9.25) libdvdnav-dev (>= 4.1.2) libexempi-dev libexif-dev (>= 0.6.16) libfaad-dev libglib2.0-dev (>= 2.32) libgme-dev libgsm1-dev libgstreamer-plugins-base1.0-dev (>= 1.0.8) libgtk2.0-dev (>= 2.14.0) libiptcdata0-dev (>= 1.0.2) libjasper-dev libkate-dev (>= 0.1.7) libmimic-dev (>= 1.0) libmms-dev (>= 0.4) libmodplug-dev libmpcdec-dev libmpg123-dev (>= 1.13) libofa0-dev (>= 0.9.3) libopenal-dev libopus-dev (>= 0.9.4) liborc-0.4-dev (>= 1:0.4.16) libpng-dev librsvg2-dev (>= 2.14.0) librtmp-dev libschroedinger-dev (>= 1.0.7) libslv2-dev (>= 0.6.6) libsndfile1-dev (>= 1.0.16) libsoundtouch-dev (>= 1.5.0) libspandsp-dev libssl-dev libtool (>= 2.2.6) libvo-aacenc-dev libvo-amrwbenc-dev libwildmidi-dev (>= 0.2.3) libxvidcore-dev libzbar-dev (>= 0.9) libzvbi-dev pkg-config (>= 0.11.0)
地道にパッケージをインストールしていきます。(複数パッケージを指定可能です)
root@debian:~/gst-plugins-bad-1.0.8# apt-get install autoconf automake
ただしgstreamer1.0-plugins-base-docはwheezyパッケージから引っ張ってこれないので、手動でインストールします。
root@debian:~/gst-plugins-bad-1.0.8# cd root@debian:~# wget http://snapshot.debian.org/archive/debian/20130814T154240Z/pool/main/g/gst-plugins-base1.0/gstreamer1.0-plugins-base-doc_1.0.8-1%7Ebpo70%2B1_all.deb root@debian:~# dpkg -i gstreamer1.0-plugins-base-doc_1.0.8-1~bpo70+1_all.deb
5. ビルドの実行
root@debian:~/gst-plugins-bad-1.0.8# dpkg-buildpackage -us -uc -rfakeroot
それぞれのプラグインのライブラリは、.libs配下に作成されています。
root@debian:~/gst-plugins-bad-1.0.8# ls gst/videoparsers/.libs/ libgstvideoparsersbad.exp libgstvideoparsersbad.la libgstvideoparsersbad.lai libgstvideoparsersbad.so libgstvideoparsersbad.ver libgstvideoparsersbad_la-dirac_parse.o libgstvideoparsersbad_la-gstdiracparse.o libgstvideoparsersbad_la-gsth263parse.o libgstvideoparsersbad_la-gsth264parse.o libgstvideoparsersbad_la-gstmpeg4videoparse.o libgstvideoparsersbad_la-gstmpegvideoparse.o libgstvideoparsersbad_la-h263parse.o libgstvideoparsersbad_la-plugin.o
以上