Linux Help for cross-compiling kodi for imx.6 based custom hardware
#1
Warm Greetings to everyone

I used Kodi on my Raspberry Pi 2 & was very impressed by the features it offers. I also came to know that Kodi officially supports Freescale IMX.6 with Hardware acceleration due to some diligent work done by team members.

I would like to run Kodi on one of our custom hardware based on imx.6. I find that under documentation that there are few README.xxxx files which can be used as a guide for cross-compilation. I went through the README.linux(which I assume is the correct one I need to refer to) which says to install lots of packages on the host machine(Ubuntu 15.04). I have the SDK which includes the tool chain installed in my host machine.

1. What would be an ideal configuration to have all features provided by Kodi to run on IMX.6.
2. We are running Linux kernel 3.10. Do we need to do any driver modifications in Kernel for Kodi ?

Please share your experiences. Certainly I would like to contribute back to the Kodi development.
Reply
#2
cross compile 'entry point' is tools/depends. see the README there
Reply
#3
Thanks @ironic_monkey for your immediate reply. I will come back in case of any doubts
Reply
#4
Here's what I have done so far

1. Cloned the source code from the official Kodi git repository.
2. Went through the README file at tool/depends and tried to configure the package with the following options.

$./configure --host=arm-oe-linux-gnueabi --enable-codec=imxvpu --disable-gl --enable-gles
configure: error: cannot find install-sh, install.sh, or shtool in build-aux "."/build-aux

I am getting the above error. Am I missing some step that needs to be done before this ?
Reply
#5
uhm, sounds like your autoconf is bad. or that your toolchain is nonexistent. or a myriad of other possibilities. see config.log
Reply
#6
I have a question in general. The top level directory has bootstrap and configure scripts. This configure script offers more options. There is one more in tools/depends(both bootstrap & configure). Should I assume that the one in tools/depends will first build all dependencies for the target(cross-compile) and the one in top level directory shall build kodi for the target once the dependencies are compiled & ready.
Reply
#7
tools/depends buildsystem is the one you relate to directly. it builds all dependencies, then kodi. in particular note the tools/depends/target/xbmc Makefile.

tools/buildsteps can also be used as a reference (these are the jenkins build scripts).
Reply
#8
Hi,

I ran the following configure command from tools/depends

$ ./configure --host=arm-oe-linux-gnueabi --prefix=/opt/xbmc-depends --with-toolchain=/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/


It was fetching few packages and building them overnight. I got the following error in the end. I am not sure if this is normal or the build has failed overall.

make[3]: Leaving directory `/home/hari/project/kodi/xbmc/tools/depends/target/libgpg-error/arm-oe-linux-gnueabi'
touch .installed-arm-oe-linux-gnueabi
make[2]: Leaving directory `/home/hari/project/kodi/xbmc/tools/depends/target/libgpg-error'
make -C libgcrypt
make[2]: Entering directory `/home/hari/project/kodi/xbmc/tools/depends/target/libgcrypt'
cd /opt/xbmc-depends/xbmc-tarballs; /usr/bin/curl -Ls --create-dirs -f -O http://mirrors.xbmc.org/build-deps/sourc....5.tar.bz2
make[2]: *** [/opt/xbmc-depends/xbmc-tarballs/libgcrypt-1.4.5.tar.bz2] Error 22
make[2]: Leaving directory `/home/hari/project/kodi/xbmc/tools/depends/target/libgcrypt'
make[1]: *** [libgcrypt] Error 2
make[1]: Leaving directory `/home/hari/project/kodi/xbmc/tools/depends/target'
make: *** [target/.installed-arm-oe-linux-gnueabi] Error 2
Reply
#9
I retried 'make'. Now it is proceeding with building the package correctly. Might have been some network issues or that source was not reachable.
Reply
#10
Now I am struck at the following point & getting an error

make[4]: Entering directory `/home/hari/project/kodi/xbmc/tools/depends/target/libmpeg2/arm-oe-linux-gnueabi/src'
/bin/bash ../libtool --tag=CC --mode=link /usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/arm-oe-linux-gnueabi//arm-oe-linux-gnueabi-gcc -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs -Wsign-compare -isystem /opt/xbmc-depends/arm-oe-linux-gnueabi/include -fvisibility=default -O3 -fomit-frame-pointer -fno-common -isystem /opt/xbmc-depends/arm-oe-linux-gnueabi/include -fvisibility=default -L/opt/xbmc-depends/arm-oe-linux-gnueabi/lib -o mpeg2dec mpeg2dec.o dump_state.o getopt.o gettimeofday.o ../libvo/libvo.a -lSM -lICE -lXext -lX11 -lXv ../libmpeg2/libmpeg2.la ../libmpeg2/convert/libmpeg2convert.la
libtool: link: cannot find the library `=/usr/lib/libICE.la' or unhandled argument `=/usr/lib/libICE.la'
Reply

Logout Mark Read Team Forum Stats Members Help
Help for cross-compiling kodi for imx.6 based custom hardware0