Ok, I am listing out the steps I have taken so far:
- Install the following extensions/dependencies from repo using App Browser:
- compile-essentials.tcz (the variant of compiletc.tcz in piCore)
- pcre-dev.tcz
- libidn-dev.tcz
- boost-dev.tcz
- freetype-dev.tcz
- libusb-dev.tcz
- dbus-dev.tcz
- openssl-1.0.1-dev.tcz
- libssh2-dev.tcz
- samba4-dev.tcz
- pkg-config.tcz
- linux-3.12.y_api_headers.tcz (this is needed to compile libva)
- ffmpeg-dev.tcz and ffmpeg.tcz (there's a Makefile.ffmpeg inside omxplayer source but since the piCore repo already has ffmpeg.tcz we can just use it)
- git.tcz (utility to clone omxplayer from github -
https://github.com/popcornmix/omxplayer)
- coreutils.tcz (maybe we don't need this?)
- libva requires pthread-stubs and libdrm so before we build that we have to install them first else it will throw out missing package error during the libva make process.
- Download and build pthread-stubs from
http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2 > wget
http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2 > tar -xjvf libpthread-stubs-0.1.tar.bz2
> cd libpthread-stubs-0.1
> ./configure --prefix=/usr && make
> sudo make install
- Ref:
http://www.linuxfromscratch.org/blfs/view/6.3/general/libpthread-stubs.html - Download and build libdrm from
http://dri.freedesktop.org/libdrm/libdrm-2.4.65.tar.gz (else mid way into libva configure, it will fail with error: no package 'libdrm' found)
> wget
http://dri.freedesktop.org/libdrm/libdrm-2.4.65.tar.gz > tar -xzvf libdrm-2.4.65.tar.gz
> cd libdrm-2.4.65
> ./configure --prefix=/usr --enable-udev && make
> sudo make install
- Ref:
http://www.linuxfromscratch.org/blfs/view/svn/x/libdrm.html- Now, download and build libva from
http://www.linuxfromscratch.org/blfs/view/svn/x/x7driver.html#libva > wget
http://www.freedesktop.org/software/vaapi/releases/libva/libva-1.6.1.tar.bz2 > tar jxf libva-1.6.1.tar.bz2
> cd libva-1.6.1
> ./configure $XORG_CONFIG && make
> sudo make install [we're at this now...]
- Download and build omxplayer from
https://github.com/popcornmix/omxplayer > git clone
https://github.com/popcornmix/omxplayer > cd omxplayer
- There's not configure script from the source so skipping it (am I doing the right thing?)
> make
- Got "/bin/sh: bash: not found" — fixed that by replacing bash to sh on Makefile line 51 and save the file
> make (run again)
- Got another error, something like "/home/dc4/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi" (didn't manage to copy the screenshot as the I accidentally rebooted the system and all the build is gone). I guess I need to try from building libdrm, libpthread and libva again before I can run omxplayer make.
What a long journey hehe, and I hope to be able to tackle the omxplayer build process, natively or otherwise cross-compile I am new to this by the way, will go through another heaps of learning process again but it's fun! I am posting the previous steps in the hope of easing other people from falling in my steps, of course if you're newbie like me — you're probably doing the same mistake as mine.
For the piCore experts out there, please pick my mistakes and kindly give advice for improvement, thank you very much and have a great weekend!