SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.02k stars 1.23k forks source link

Problem with compile tvheadend v3.9 #760

Closed ghost closed 10 years ago

ghost commented 10 years ago

I want compile tvheadend version 3.9 and i have a problem. I changed in file /home/spksrc/cross/tvheadend/makefile

PKG_NAME = tvheadend PKG_VERS = v3.9 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

and delete file digests and after changed in file /home/spksrc/spk/tvheadend/makefile

SPK_NAME = tvheadend SPK_VERS = 3.9 SPK_REV = 1 SPK_ICON = src/tvheadend.png DSM_UI_DIR = app

DEPENDS = cross/busybox cross/$(SPK_NAME)

After that i compile: make arch-88f6281 and i have a problem...

See any operating system documentation and manpages about shared libraries for your version of UNIX. The following manpages may be helpful: ld(1), ld.so(1), ld.so.1(1) [Solaris], dld.sl(1) [HP], ldd(1), crle(1) [Solaris], pldd(1) [Solaris], ldconfig(8) [Linux], chatr(1) [HP]. cp libcrypto.pc /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig chmod 644 /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig/libcrypto.pc cp libssl.pc /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig chmod 644 /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig/libssl.pc cp openssl.pc /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig chmod 644 /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/lib/pkgconfig/openssl.pc make[4]: Opuszczenie katalogu /home/piotrek/spksrc/spk/tvheadend/work-88f6281/openssl-1.0.0k' find /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/ ! -type d -printf '%P\n' | sort | \ diff /home/piotrek/spksrc/spk/tvheadend/work-88f6281/openssl.plist.tmp - | grep '>' | cut -d' ' -f2- > /home/piotrek/spksrc/spk/tvheadend/work-88f6281/openssl.plist ===> Correcting pkg-config file lib/pkgconfig/libcrypto.pc ===> Correcting pkg-config file lib/pkgconfig/libssl.pc ===> Correcting pkg-config file lib/pkgconfig/openssl.pc make[3]: Opuszczenie katalogu/home/piotrek/spksrc/cross/openssl' ===> Extracting for tvheadend tar -xzpf /home/piotrek/spksrc/cross/tvheadend/../../distrib/v3.9.tar.gz -C /home/piotrek/spksrc/spk/tvheadend/work-88f6281 ===> Patching for tvheadend patch -p0 < patches/atomic32.patch /bin/sh: 4: cd: can't cd to /home/piotrek/spksrc/spk/tvheadend/work-88f6281/tvheadend-v3.9 make[2]: * [patch_target] Błąd 2 make[2]: Opuszczenie katalogu /home/piotrek/spksrc/cross/tvheadend' make[1]: * [depend_target] Błąd 2 make[1]: Opuszczenie katalogu/home/piotrek/spksrc/spk/tvheadend' make: [arch-88f6281] Błąd 2 (zignorowany) piotrek@piotrek-UL30JT:~/spksrc/spk/tvheadend$

moneytoo commented 18 minutes ago

@PiterEL this is different problem so please keep it separate issue. Your problem is that the download file contains v but not the folder within the archive.

PKG_NAME = tvheadend PKG_VERS = 3.9 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

i changed v3.9 to 3.9 and still problem... On github i found v3.9.tar.tz and i didn't find 3.9.tar.gz

this is bug: Final link with: make[3]: Opuszczenie katalogu /home/piotrek/spksrc/spk/tvheadend/work-88f6281/busybox-1.21.1' ===> Installing for busybox find /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/ ! -type d -printf '%P\n' | sort > /home/piotrek/spksrc/spk/tvheadend/work-88f6281/busybox.plist.tmp install -m 755 -d /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/bin install -m 755 /home/piotrek/spksrc/spk/tvheadend/work-88f6281/busybox-1.21.1/busybox /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install/usr/local/tvheadend/bin find /home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/ ! -type d -printf '%P\n' | sort | \ diff /home/piotrek/spksrc/spk/tvheadend/work-88f6281/busybox.plist.tmp - | grep '>' | cut -d' ' -f2- > /home/piotrek/spksrc/spk/tvheadend/work-88f6281/busybox.plist make[2]: Opuszczenie katalogu/home/piotrek/spksrc/cross/busybox' make[2]: Wejście do katalogu /home/piotrek/spksrc/cross/tvheadend' ===> Downloading files for tvheadend wget https://github.com/tvheadend/tvheadend/archive/3.9.tar.gz https://codeload.github.com/tvheadend/tvheadend/tar.gz/3.9: 2013-12-09 08:59:01 BŁĄD 404: Not Found. make[2]: * [download_target] Błąd 8 make[2]: Opuszczenie katalogu/home/piotrek/spksrc/cross/tvheadend' make[1]: * [depend_target] Błąd 2 make[1]: Opuszczenie katalogu `/home/piotrek/spksrc/spk/tvheadend' make: [arch-88f6281] Błąd 2 (zignorowany) piotrek@piotrek-UL30JT:~/spksrc/spk/tvheadend$

moneytoo commented 10 years ago

Did you change this: PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT)?

ghost commented 10 years ago

yes i chanded...

PKG_NAME = tvheadend PKG_VERS = 3.9 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/openssl

And now i have...: ===> Correcting pkg-config file lib/pkgconfig/libcrypto.pc ===> Correcting pkg-config file lib/pkgconfig/libssl.pc ===> Correcting pkg-config file lib/pkgconfig/openssl.pc make[3]: Opuszczenie katalogu /home/piotrek/spksrc/cross/openssl' ===> Extracting for tvheadend tar -xzpf /home/piotrek/spksrc/cross/tvheadend/../../distrib/v3.9.tar.gz -C /home/piotrek/spksrc/spk/tvheadend/work-88f6281 ===> Patching for tvheadend patch -p0 < patches/atomic32.patch patching file configure Hunk #1 succeeded at 59 (offset 5 lines). patching file src/atomic.h patch -p0 < patches/iov-max.patch patching file src/dvr/dvr_db.c Hunk #1 succeeded at 1069 (offset 111 lines). patch -p0 < patches/Werror.patch patching file Makefile ===> Configuring for tvheadend cd /home/piotrek/spksrc/spk/tvheadend/work-88f6281/tvheadend-3.9 && env PKG_CONFIG_LIBDIR=/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/lib/pkgconfig WORK_DIR=/home/piotrek/spksrc/spk/tvheadend/work-88f6281 INSTALL_PREFIX=/usr/local/tvheadend TC=syno-88f6281 LD="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ld" LDSHARED="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -shared" CPP="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-cpp" NM="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-nm" CC="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc" AS="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-as" RANLIB="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ranlib" CXX="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++" AR="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ar" STRIP="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-strip" OBJDUMP="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-objdump" READELF="/home/piotrek/spksrc/toolchains/syno-88f6281/work/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-readelf" CFLAGS=" -I/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/include " CPPFLAGS=" -I/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/include " CXXFLAGS=" -I/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/include " LDFLAGS=" -L/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/lib -Wl,--rpath-link,/home/piotrek/spksrc/spk/tvheadend/work-88f6281/install//usr/local/tvheadend/lib -Wl,--rpath,/usr/local/tvheadend/lib " ./configure --host=arm-none-linux-gnueabi --build=i686-pc-linux --prefix=/usr/local/tvheadend --disable-avahi --release Checking support/features /home/piotrek/spksrc/spk/tvheadend/work-88f6281/tvheadend-3.9/support/configure.inc: line 268: /tmp/12611.bin: nie można uruchomić pliku binarnego ERROR: No C compiler found make[2]: *** [configure_target] Błąd 1 make[2]: Opuszczenie katalogu/home/piotrek/spksrc/cross/tvheadend' make[1]: *\ [depend_target] Błąd 2 make[1]: Opuszczenie katalogu `/home/piotrek/spksrc/spk/tvheadend' make: [arch-88f6281] Błąd 2 (zignorowany) piotrek@piotrek-UL30JT:~/spksrc/spk/tvheadend$

ghost commented 10 years ago

I installed all package sudo aptitude install build-essential debootstrap python-pip automake libgmp3-dev libltdl-dev libunistring-dev libffi-dev ncurses-dev imagemagick libssl-dev pkg-config zlib1g-dev gettext git curl subversion check bjam intltool gperf flex bison xmlto php5 expect libgc-dev mercurial cython sudo pip install -U pip

moneytoo commented 10 years ago

You installed it correctly. They only changed configure for tvheadend so we need to figure out the correct parameters to pass to it. Read changelogs related to latest tvheadend's and also through the configure itself to learn how to set it up.

ghost commented 10 years ago

Unfortunately for me it was too difficult. Can you compile for me version 3.9 on architecture 88f6281?

moneytoo commented 10 years ago

I didn't manage to compile it yet.

ghost commented 10 years ago

Oh injury Because I'm on synology DS213 have all the time the problem with version 3.4.27 and version 3.9 may have resolved my problem. I have a problem because I have two tuners connected ITE9135 and after about one day televizji can not play live. I'm trying by TVHGuide and by XBMC. In XBMC I have a message: No input detected. Only after reboot Synology TV works OK again. But the problem with inability to play is repeated systematically.

moneytoo commented 10 years ago

I also have tuner with ITE9135. Some times reboot didn't help and I had to unplug it and then plug it back.

ghost commented 10 years ago

and you know other solution? What is your model synology? Annoyingly it is the TV stops working, you can not schedule a recording because then you can not record. So maybe version 3.9 would be OK. It may have improved, and I wanted to try it out but do not know how to compile.

ghost commented 10 years ago

tell me only when did you plan compile version 3.9 ?

moneytoo commented 10 years ago

Currently I don't how to compile it...

ghost commented 10 years ago

Why ? So strongly differs from the version 3.4?

ghost commented 10 years ago

Can you try compile latest version 3.9 to spk because Adam changed this and after this we can build for ARM

https://github.com/tvheadend/tvheadend/commit/9c1617df6b9040f03b063b0e97867130ebcbffc7

JZacharie commented 10 years ago

Hi, Do you have find how to compile the version 3.9 for your system ?

tom1502 commented 10 years ago

Hi everybody,

any news on this? I would love to use a newer tvheadend version!

Thanks & cheers, Tom

JZacharie commented 10 years ago

Hi,

This is a beta version working well in my 212+.

Joseph

http://ubuntuone.com/008iRmqnXoPMuv8UhBb8Cl

tom1502 commented 10 years ago

Hi,

unfortunately i get a 404 following your links...

Cheers, Tom

JZacharie commented 10 years ago

Link has been updated //joseph

http://ubuntuone.com/008iRmqnXoPMuv8UhBb8Cl

jdierkse commented 10 years ago

I've compiled a version for cedarview. If needed I can also build for other archs. http://syno.dierkse.nl

JZacharie commented 10 years ago

Hi

could you please compile it for ARM : Marvell Kirkwood mv6282 http://www.marvell.com/embedded-processors/kirkwood/assets/88f6282-3_pb.pdf2.0Ghz ARM (Marvell ARMADA 300) so arch 88f6282 (88f628x)

Could you please inform me the modification you have done to allow a compilation of last git ?

Thanks in advance Best regards

Joseph

Le 02/04/2014 21:54, J. Dierkse a écrit :

I've compiled a version for cedarview. If needed I can also build for other archs. http://syno.dierkse.nl

— Reply to this email directly or view it on GitHub https://github.com/SynoCommunity/spksrc/issues/760#issuecomment-39375622.

matmielke commented 10 years ago

Hi,

I have the same wish for ArmadaXP. That would be really great as the actual version 3.4 has a problem with pictures in web interface.

Thanks in advance, Matthias

On 3. April 2014 07:15:25 MESZ, JZacharie notifications@github.com wrote:

Hi

could you please compile it for ARM : Marvell Kirkwood mv6282 http://www.marvell.com/embedded-processors/kirkwood/assets/88f6282-3_pb.pdf2.0Ghz

ARM (Marvell ARMADA 300) so arch 88f6282 (88f628x)

Could you please inform me the modification you have done to allow a compilation of last git ?

Thanks in advance Best regards

Joseph

Le 02/04/2014 21:54, J. Dierkse a écrit :

I've compiled a version for cedarview. If needed I can also build for other archs. http://syno.dierkse.nl

— Reply to this email directly or view it on GitHub

https://github.com/SynoCommunity/spksrc/issues/760#issuecomment-39375622.


Reply to this email directly or view it on GitHub: https://github.com/SynoCommunity/spksrc/issues/760#issuecomment-39413501

Diese Nachricht wurde von meinem Mobiltelefon mit Kaiten Mail gesendet.

jdierkse commented 10 years ago

Both the versions for 88f6281 and ArmadaXP are now available on http://syno.dierkse.nl The changes I had to make were some changes to enable cross-compilation and compilation with gcc < 4.6 and glibc < 2.8. For 88f6281I also had to make some changes to the toolchains directives.

matmielke commented 10 years ago

Thank you very much! I downloaded the version for ArmadaXP and everything installed the way it should. Unfortunately, the missing pictures at the drop down fields are still present and I can't choose the adapter I want to configure. Is there any solution for this?

Greetings, Matthias

ghost commented 10 years ago

Hello JDIERKSE Can you tell me step by step how you compilation latest TVHeadend for cedarview. How i can setup enviroment to compilation. On which system you compile this ? Debian ? I have a debian and i can not compile TVHeadend 3.9 for cedarview. Please please tell me how step by step for beginner user. I very grateful.

Now i have instlled Debian CHroot and on Debian have TVHeadend from latest build 3.9.470. I have with option transcoding. I installed you version 88f6281 on my second NAS DS210J and your version have not option transcoding avaible. On my Debian Chroot i build tvheadend with default option. Can you compile with default config version 3.9.470 ? Why in you version in section ABOUT is type HTS Tvheadend 0.0.0 I have type HTS Tvheadend 3.9.470~g6482d33

Greetings Peter

jdierkse commented 10 years ago

Hi Matthias,

Did you also have the issue with the adapter selection with version 3.4, or is this new in 3.9? Which drop down fields are you referring to when speaking about missing pictures?

ghost commented 10 years ago

jdierkse can you descrive me step by step how you compilation for platform cedarview ?

jdierkse commented 10 years ago

Hi PiterEL

What I did was just try to compile on a Debian VM, and fix every issue as it came by. I'll list the issues I encountered.

I'm not sure why the version in the about box of TvHeadend is 0.0.0, I'll try to look into this if I have time.

ghost commented 10 years ago

Ok OK But i am begginer... Can you describe step by step how i can setup enviroment to compilation to i would compile a new version for me as soon as new builds realesed. You describe step by step what to debian install, what to change and how to configure it. Step by step Please :(

jdierkse commented 10 years ago

Hi PiterEL

I just used the latest stable debian installation, the version of debian doesn't really matter. After that you can follow the directives in the readme file of spksrc to install spksrc. To build TvHeadend 3.9 you'll have to change the version numbers in cross/tvheadend/Makefile and spk/tvheadend/Makefile That's basically it, spksrc makes sure you get the right cross-compilation tools and the right sources.

ghost commented 10 years ago

That's basically it, spksrc makes sure you get the right cross-compilation tools and the right sources

How i can this ? And decscribe how change cross/tvheadend/Makefile and spk/tvheadend/Makefile to latest version 3.9.470 ?

Sorry for closed issue

ghost commented 10 years ago

Can i use this version debian :ftp://ftp.ps.pl/pub/Linux/debian-cd/7.4.0/i386/iso-dvd/

jdierkse commented 10 years ago

Spksrc downloads the release you define from github, valid releases are shown here: https://github.com/tvheadend/tvheadend/releases And yes, you can use 7.4 "Wheezy" for this.

ghost commented 10 years ago

But i can not compile version 3.9.470 -https://tvheadend.org/builds/tvheadend/build/4635

ghost commented 10 years ago

And after install Debian 7.4 "Wheezy" what i must install and configure in debian to compile this tvheadend ?

Diaoul commented 10 years ago

Can you submit a PR with the changes @jdierkse ? This would be more efficient than providing your own package versions.

jdierkse commented 10 years ago

Hi Diaoul,

I agree, I will submit my changes in the form of patch files in a pull request.

ghost commented 10 years ago

@jdierkse can you help me ?

jdierkse commented 10 years ago

Hi PiterEL,

When you've installed Debian, you can just install spksrc as described in the readme here: https://github.com/SynoCommunity/spksrc/blob/develop/README.rst That should be enough to get it to compile. Furthermore, you can build other versions if you like, but you'll have to modify the Makefile in the cross/tvheadend directory to get the download right.

ghost commented 10 years ago

Hi i installed version fro you to cedarview and i have a problem. In you version i have not select muxes as on image: http://www.fotosik.pl/pokaz_obrazek/602f0b49d0836314.html

This option in your version is not. No this option. Add muxes by one is very very problematic. On Debian Chroot where i have installed latest version 3.9.470 this option is avaible.

jdierkse commented 10 years ago

Hi PiterEL,

I'll try to build the version you're referring to this weekend. The issue you're referring to sounds a lot like Matthias' issue.

matmielke commented 10 years ago

Actually, I don't get as far as PiterEL. Here you see the dialogue from 3.4: http://s7.directupload.net/images/140404/7zapyx6u.jpg And the next pictures schow the dialogue from 3.9 (and the missing arrow in drop-down-field as in 3.4): http://s7.directupload.net/images/140404/4vw7ahti.jpg http://s7.directupload.net/images/140404/26dowh42.jpg

ghost commented 10 years ago

@matmielke On cedarview i have not this problem with missing arrow in drop-down-field.

jdierkse commented 10 years ago

I have created new packages for the current latest branch of tvheadend. Before I create a PR with my changes, I've put them on http://syno.dierkse.nl so you can test them. The version number is 4.0.

ghost commented 10 years ago

But latest version is 3.9... Why you use name 4.0 ?

jdierkse commented 10 years ago

Because 3.9 is already a defined release on GitHub, and this is definitely something different. I could have called it 3.9.500, but I'm not 100% sure that the content of my build and the 3.9.500 build are exactly the same, so I chose a different route and picked the version 4.0...

ghost commented 10 years ago

What we different from 3.9? What is new in comparison with the version 3.9?

Version 3.9.500 now have a problem with No Free Tuner. https://tvheadend.org/issues/2035

jdierkse commented 10 years ago

Can you point me to a location where the 3.9.470 sources can be found? I just pulled a latest state off of github yesterday.

ghost commented 10 years ago

https://tvheadend.org/builds/tvheadend/build/4635

I build on my Debian-Chroot by git clone and then cd tvheadend git checkout 6482d33ba90848018c530018e5c38992b8ac921c

I suggested you to use name version spk example 3.9.470 no 4.0-1

jdierkse commented 10 years ago

This makes it a bit harder to build with spksrc, as it expects to download an archive with the sources. I will give it a go tonight.

ghost commented 10 years ago

Can you describe how you edite makefile file in cross and in spk ? Please describe me your file.