MariuCh Wrote:costan Wrote:But bear in mind that is not that simple.
The cross-compile environment is a bunch of hundreds of MB, and then it comes to adjust a number of factors on the TVH code to make it compile.
I try to use this cross compiler
http://sourceforge.net/projects/moiplus ... p/downloadcostan Wrote:Basically there's a number of modification for the configure script (mainly disable codecs for transcoding, they are unuseful on MOI+, not enough horsepower), and an intentional typo on atomic64 configure check, otherwise it will compile but refuse to run due to a kernel helper not available on ARM kernel before 3.x tree. And you still need to tweak the C compiler/libraries to point to the right place.
I tried with the help of the tvheadend support set the compiler and led to the state as a binary file was created. But it does not work. There is probably the "tweak" modifications needed.
costan Wrote:As said, I'll try to push the code, but I suspect it will take some issues, probably some headaches and patience to make it work.
Something I already know about it
costan Wrote:Now the good news.
The 4.2.1 version is almost ready, I need to test for a couple of days on my box and I'll provide to all of you.
That's good news
One more question - is the environment you use for compilation is virtual?
The developing environment you mentioned never worked for me. I don't know if it was due to my inexperience at the moment (I learned the needed tweaks only after a lot of try&error, rebuild, changes etc.) or simply the compiler was too outdated for the new TVH versions.
I basically used the very same tool TBS used to create the environment, to build mine. Actually I used for more than just MOI+, I also have another ARMv9 box (that is 64 bits) and created a dedicated environment also for it.
The tool is crosstool-ng, and it takes something like 3 days just to have it create the build environment. Then I discovered some more tweaks needed for the library parts (GLIBC needed a tweak to have DNS working, otherwise it always fails). Rinse and repeat.. the build phase goes in between 1.5h to 2h depending on the load of my server.
The box I use it's virtual, it's a CentOS 6 guest inside a CentOS 6 host. I fucking love CentOS
After I build a working cross-compiling environment I cross-compiled all the required libraries and finally TVH.
The recipe is almost this
- Code: Select All Code
ZLib
CC=/home/costan/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc ./configure --prefix=/home/costan/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/
OpenSSL
CC=/home/costan/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc ./Configure
--prefix=/home/costan/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/ shared zlib linux-armv4
libdvbcsa
CC=/home/costan/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc ./configure --prefix=/home/costan/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/ --host=arm-unknown-linux-gnueabi
TVHeadend
Tweak configure script, disable all the library for transcoding, ffmpeg, homerun.
CC=/home/costan/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc ./configure --prefix=/usr/local/ --arch=arm-unknown-linux-gnueabi --enable-dvbcsa
Tweak .config.mk, add -static to LDFLAGS before -ldvbcsa
make
make install prefix=.......
I'll try to push all the environment and the compiled libraries in the upcoming days, so only TVH part will be needed.