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$

Diaoul commented 10 years ago

You can use spksrc with a git hash.

PKG_DOWNLOAD_METHOD = git
PKG_GIT_HASH = somecommithash

Unless there is an ungoing issue with spksrc and/or the tvheadend package provided by SynoCommunity I'm going to close this.

ghost commented 10 years ago

Hello I must only changed: PKG_NAME = tvheadend PKG_VERS = 3.4patch1 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)

to only:

PKG_DOWNLOAD_METHOD = git PKG_GIT_HASH = somecommithash

?

ghost commented 10 years ago

When i use this configuration in cross/tvheadend/makefile PKG_NAME = tvheadend PKG_VERS = 3.9~git6482d3 PKG_EXT = tar.gz PKG_DOWNLOAD_METHOD = git PKG_GIT_HASH = 6482d33ba9 PKG_DIST_NAME = tvheadend.git PKG_DIST_SITE = https://github.com/tvheadend PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-git*

DEPENDS = cross/openssl

HOMEPAGE = https://www.lonelycoder.com/tvheadend/ COMMENT = Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources LICENSE =

GNU_CONFIGURE = 1 CONFIGURE_ARGS = --disable-avahi --release

i have this problem: /work-cedarview/install//usr/local/tvheadend/include Build for arch: cedarview

Binaries: Using PYTHON: python

Options: cwc yes v4l no linuxdvb yes iptv yes tsfile yes dvbscan yes timeshift yes trace yes imagecache no avahi no zlib yes libav no inotify no curl no epoll yes uriparser no ccache no bundle no dvbcsa no kqueue no execinfo yes mmx yes sse2 yes getloadavg yes atomic32 yes atomic64 yes py_gzip yes bin_bzip2 yes ssl yes dvbapi yes mpegts yes mpegps no

Packages: openssl 1.0.0l zlib 1.2.8

Installation paths: Prefix: /usr/local/tvheadend Binaries: ${prefix}/bin Libraries: ${prefix}/lib Data files: ${prefix}/share Man pages: ${datadir}/man

Final Binary: /home/piotrek/spksrc/spk/tvheadend/work-cedarview/tvheadend-git6482d33ba9/build.linux/tvheadend

Tvheadend Data Directory: /usr/local/tvheadend/share/tvheadend

===> Compiling for tvheadend make[3]: Wejście do katalogu `/home/piotrek/spksrc/spk/tvheadend/work-cedarview/tvheadend-git6482d33ba9' CC src/version.o CC src/main.o CC src/tvhlog.o CC src/idnode.o CC src/prop.o CC src/utils.o CC src/wrappers.o CC src/access.o CC src/dtable.o CC src/tcp.o src/tcp.c: In function 'tcp_server_loop': src/tcp.c:492: warning: dereferencing type-punned pointer will break strict-aliasing rules

CC src/url.o CC src/http.o CC src/notify.o CC src/file.o CC src/epg.o CC src/epgdb.o CC src/epggrab.o CC src/spawn.o CC src/packet.o CC src/streaming.o CC src/channels.o CC src/subscriptions.o CC src/service.o CC src/htsp_server.o CC src/htsmsg.o CC src/htsmsg_binary.o CC src/htsmsg_json.o CC src/htsmsg_xml.o CC src/misc/dbl.o CC src/misc/json.o CC src/settings.o CC src/htsbuf.o CC src/trap.o CC src/avg.o CC src/htsstr.o CC src/tvhpoll.o CC src/huffman.o CC src/filebundle.o CC src/config2.o CC src/lang_codes.o CC src/lang_str.o CC src/imagecache.o CC src/tvhtime.o CC src/descrambler/descrambler.o CC src/service_mapper.o CC src/input.o CC src/http/http_client.o CC src/fsmonitor.o CC src/api.o CC src/api/api_status.o CC src/api/api_idnode.o CC src/api/api_input.o CC src/api/api_channel.o CC src/api/api_service.o CC src/api/api_mpegts.o CC src/api/api_epg.o CC src/api/api_epggrab.o CC src/api/api_imagecache.o CC src/parsers/parsers.o CC src/parsers/bitstream.o CC src/parsers/parser_h264.o CC src/parsers/parser_latm.o CC src/parsers/parser_avc.o CC src/parsers/parser_teletext.o CC src/epggrab/module.o CC src/epggrab/channel.o CC src/epggrab/module/pyepg.o CC src/epggrab/module/xmltv.o CC src/plumbing/tsfix.o CC src/plumbing/globalheaders.o CC src/dvr/dvr_db.o CC src/dvr/dvr_rec.o CC src/dvr/dvr_autorec.o CC src/dvr/dvr_cutpoints.o CC src/webui/webui.o CC src/webui/comet.o CC src/webui/extjs.o CC src/webui/simpleui.o CC src/webui/statedump.o CC src/webui/html.o CC src/webui/webui_api.o CC src/muxer.o src/muxer.c: In function 'muxer_cache_update': src/muxer.c:461: warning: implicit declaration of function 'posix_fadvise' src/muxer.c:461: error: 'POSIX_FADV_DONTNEED' undeclared (first use in this function) src/muxer.c:461: error: (Each undeclared identifier is reported only once src/muxer.c:461: error: for each function it appears in.) make[3]: * [/home/piotrek/spksrc/spk/tvheadend/work-cedarview/tvheadend-git6482d33ba9/build.linux/src/muxer.o] Błąd 1 make[3]: Opuszczenie katalogu /home/piotrek/spksrc/spk/tvheadend/work-cedarview/tvheadend-git6482d33ba9' make[2]: * [compile_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-cedarview] Błąd 2 (zignorowany) piotrek@debian:~/spksrc/spk/tvheadend$

What i must do ? Is my config makefile is ok ?

jdierkse commented 10 years ago

If anyone's interested to test I've put the 3.9.470 packages for cedarview, 88f6281 and armadaxp on http://syno.dierkse.nl @Diaoul, do you want this version in a PR, or do you prefer waiting for a TvHeadend release (which might take quite a while if I'm not mistaken).

ghost commented 10 years ago

this version have not transcoding option and image cache option. I have on my Debian Chroot and i have this option.

moneytoo commented 10 years ago

@Diaoul tvheadend-testing seems best, doesn't it?

Diaoul commented 10 years ago

I don't know how stable it is so I can't tell you. I'd rather wait for official releases because rolling back is not an option here. Is there a reason why you would want this development version ?

moneytoo commented 10 years ago

Glitches in Firefox (at least this is what I use and see) - https://tvheadend.org/boards/5/topics/11350 and some similar issues

jdierkse commented 10 years ago

I will make a PR with a tvheadend-testing component added for building TvHeadend 3.9.470, which seems to be the most stable version at this time.

ghost commented 10 years ago

Please compile version 3.9.508 It ist fixed version and works ok.

Change name version in DSM to display 3.9.508 no 3.9.gitxxxxx

jdierkse commented 10 years ago

TvHeadend 3.9.508 can now be downloaded from http://syno.dierkse.nl Also the version in TvHeadend should be displayed correctly. If this version works I'll prepare a PR.

schumi2004 commented 10 years ago

@jdierkse How did you fix version numbering?

jdierkse commented 10 years ago

In the TvHeadend support directory there is a script called "version". I now patch that script with the correct version number if it can't read it from git itself.

schumi2004 commented 10 years ago

I think your safe sending that PR btw. Running nightlies for a few months now without issues. If you want to be save then use 470 otherwise 508

jdierkse commented 10 years ago

I've created pull request https://github.com/SynoCommunity/spksrc/pull/925 with the 3.9.508 version as a TvHeadend-Testing component.

schumi2004 commented 10 years ago

Noticed a typo in your version patch, it still says 470

jdierkse commented 10 years ago

Thanks! I commited a fix.

ghost commented 10 years ago

How i can use this to compile spk ?

JZacharie commented 10 years ago

Could you please compile the version 88f6281 to ? Or could you please provide us the change done to allow this cross compile ? I don't see it anymore in : http://syno.dierkse.nl

Regards ZACHARIE Joseph

ghost commented 10 years ago

On 88f6281 is very easy... step by step with manual on synocommunity. With cedarview si a problem...

jdierkse commented 10 years ago

I will put the versions back up there. I've removed them because there were problems in 470 and 508. I will put 512 up, which runs pretty good on my Syno.

ghost commented 10 years ago

In a moment was version 517.... Now is pending build...

jdierkse commented 10 years ago

I will only put stuff up that I've been able to test, so for now 512 it is.

ghost commented 10 years ago

Can you compile HD Homerun for DVT-T for platform cedarview?

jdierkse commented 10 years ago

@JZacharie I've put the 512 version for 88f6281 on http://syno.dierkse.nl @PiterEL I've only been testing HDHomeRun for DVB-C. Does a DVB-T adapter need different drivers?

ghost commented 10 years ago

In tvheadend works on driver was implemented in DSM 5.0 No need drivers. I dont know. I want testes HD HomeRun.

jdierkse commented 10 years ago

In tvheadend works on driver was implemented in DSM 5.0 No need drivers. I dont know. I want testes HD HomeRun.

I really don't understand what you want / need...

ghost commented 10 years ago

Sorry for my english. I do not know if you need extra drivers for DVB-T. To work with tvheadend does not require drivers and works on driverach with DSM 5.0

jdierkse commented 10 years ago

If it works with tvheadend you don't need any extra drivers.

ghost commented 10 years ago

Can you compile HD Home RUN for cedarview for DVB-T?

jdierkse commented 10 years ago

Have you tested the drivers on http://syno.dierkse.nl ? The 1.0.0 version is for DSM 4.3, the 1.0.1 version is for DSM 5.0

ghost commented 10 years ago

When i want install 1.0.1 from spk i have a info: INVALID FORMAT FILE,

ghost commented 10 years ago

hello

Can you help me ?

When did you rename package Tvheadend-testing to Tvheadend ? And when you compile latest version 3.9.539 ?

jdierkse commented 10 years ago

I renamed the package to TvHeadend-Testing, so that it can be incorporated in the SynoCommunity repository, and so that you can install it next to the 3.4 release of TvHeadend. I will not change it back to TvHeadend unil there's a stable release. I will have a look at the 539 build.

ghost commented 10 years ago

Latest is now 3.9.542

Maybe change name example: TVHeadend 3.9 not testing ?

jdierkse commented 10 years ago

I don't see any fixed issues in redmine for 542.

ghost commented 10 years ago

But something was changed...https://github.com/tvheadend/tvheadend/commits/master

ghost commented 10 years ago

Can you tell me what i must install on Debian 7.4 with GUI to compilation SynoCommunity ? When i install this: 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 lzip sudo pip install -U setuptools pip wheel

after restart my Debian 7.4 dont have GUI. After restart it run only in console mode. Why ?

jdierkse commented 10 years ago

I have no clue, I only use CLI on Linux.

schumi2004 commented 10 years ago

@jdierkse Did you make any progress on HDHR drivers for ARM?

ghost commented 10 years ago

And HDHR for cedarview with DVB-T.

Now When i want install 1.0.1 from spk i have a info: INVALID FORMAT FILE,

jdierkse commented 10 years ago

Unfortunately I haven't had time to investigate further. I keep having problems with linking, but I'm also downloading the DSM 5.0 toolchain myself, so I'm going to look into whether that's the issue.

schumi2004 commented 10 years ago

I don't have source otherwise I would like to help pin point the issue.

jdierkse commented 10 years ago

542 is now available on http://syno.dierkse.nl

ghost commented 10 years ago

Hello I try compile Tvheadend-testing from your git and it works ok. But when i change in file Makefile -/spksrc/cross/tvheadend-testing/

and add option for exxample --enable-imagecache When i compile i have an error. Without modyfication this file works ok compilation. I want compilation Tvheadend-testing with transcoding and imagechache.

When i make install tvheadend on Debian-Chroot i have all avaible option: transcoding, imagecache....How i can compile this to file spk ?

schumi2004 commented 10 years ago

First, what does imagecache do? Second, what is the message your getting when compiling?

ghost commented 10 years ago

Checking support/features checking for cc execinfo.h ... ok checking for cc -mmmx ... ok checking for cc -msse2 ... ok checking for cc getloadavg ... ok checking for cc atomic32 ... ok checking for cc atomic64 ... ok checking for cc lockowner ... fail checking for cc qsort_r ... fail checking for py module gzip ... ok checking for bzip2 ... ok checking for pkg openssl ... ok checking for cc linux/dvb/version.h ... ok checking for pkg zlib ... ok checking for pkg libcurl ... fail checking for pkg liburiparser ... fail checking for pkg libavcodec <=55.0.0 ... fail checking for cc sys/inotify.h ... fail ERROR: Libcurl support not found (use --disable-imagecache) make[2]: * [configure_target] Błąd 1 make[2]: Opuszczenie katalogu `/home/piotrek/spksrc/cross/tvheadend-testing' make[1]: * [depend_target] Błąd 2 make[1]: Opuszczenie katalogu`/home/piotrek/spksrc/spk/tvheadend-testing' make: [arch-cedarview] Błąd 2 (zignorowany)

schumi2004 commented 10 years ago

How does your Makefile look like, looks like libcurl is missing

ERROR: Libcurl support not found (use --disable-imagecache)

ghost commented 10 years ago

PKG_NAME = tvheadend-testing PKG_VERS = 3.9.542 PKG_EXT = tar.gz PKG_DOWNLOAD_METHOD = git PKG_GIT_HASH = 63ac3be4ed PKG_DIST_NAME = tvheadend.git PKG_DIST_SITE = https://github.com/tvheadend PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-git*

PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT)

PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive

PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/openssl

HOMEPAGE = https://www.lonelycoder.com/tvheadend/ COMMENT = Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources LICENSE =

GNU_CONFIGURE = 1 CONFIGURE_ARGS = --enable-bundle --enable-imagecache --disable-avahi INSTALL_TARGET = myInstall

PRE_PATCH_TARGET = pre_patch_target_tvheadend-testing POST_COMPILE_TARGET = post_compile_target_tvheadend-testing

include ../../mk/spksrc.cross-cc.mk

.PHONY: myInstall myInstall: $(RUN) make install DESTDIR=$(INSTALL_DIR)

pre_patch_target_tvheadend-testing: sed -i -e 's|!!!|$(PKG_VERS)|' $(PWD)/patches/version.patch

post_compile_target_tvheadend-testing: sed -i -e 's|$(PKG_VERS)|!!!|' $(PWD)/patches/version.patch

schumi2004 commented 10 years ago

Try this: DEPENDS = cross/openssl cross/curl

Pls report back ;)