SynoCommunity / spksrc

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

Error compiling tvheadend for Synology DS220+ #4396

Closed mateusz880 closed 3 years ago

mateusz880 commented 3 years ago

Hello,

I get this result when compiling tvheadend for Synology DS220 +

===>  Building package for arch x64-7.0
make[1]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend'
===>  Processing dependencies of tvheadend
make[2]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/busybox'
make[2]: Nie ma nic do zrobienia w 'default'.
make[2]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/busybox'
make[2]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/tvheadend'
===>  Processing dependencies of tvheadend
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/openssl'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/openssl'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/uriparser'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/uriparser'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/pcre2'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/pcre2'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libiconv'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libiconv'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/native/python'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/native/python'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libhdhomerun'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libhdhomerun'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libdvbcsa'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libdvbcsa'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/dvb-apps'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/dvb-apps'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/pngquant'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/pngquant'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fdk-aac'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fdk-aac'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opus'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opus'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libtheora'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libtheora'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvorbis'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvorbis'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvpx'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvpx'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x264'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x264'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x265'
make[3]: Nie ma nic do zrobienia w 'default'.
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x265'
make[3]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/ffmpeg'
===>  Processing dependencies of ffmpeg
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/flac'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/flac'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/freetype'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/freetype'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fribidi'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fribidi'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/lame'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/lame'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libass'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libass'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libbluray'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libbluray'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/speex'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/speex'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libtheora'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libtheora'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/gnutls'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/gnutls'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opus'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opus'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/soxr'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/soxr'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x264'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x264'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x265'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/x265'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opencore-amr'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/opencore-amr'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fdk-aac'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/fdk-aac'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvpx'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libvpx'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libzmq'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libzmq'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/shine'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/shine'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libaom'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libaom'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/svt-av1'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/svt-av1'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/native/nasm'
make[4]: Nie ma nic do zrobienia w 'default'.
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/native/nasm'
make[4]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libva'
===>  Processing dependencies of libva
make[5]: Wejście do katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libdrm'
===>  Configuring for libdrm
===>  - Meson configure
===>  - Dependencies = cross/libpciaccess
===>  - Build path = /home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/libdrm-2.4.103/builddir
===>  - Configure ARGS = -Dlibdir=lib -Dradeon=false -Damdgpu=false -Dnouveau=false -Dvmwgfx=false -Dbuildtype=release --cross-file /home/mateusz/Pulpit/spksrc-dsm7/mk/meson/x86_64.cfg
===>  - Install prefix = /var/packages/tvheadend/target
cd /home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/libdrm-2.4.103 && env PKG_CONFIG=/usr/bin/pkg-config PKG_CONFIG_LIBDIR=/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/lib/pkgconfig WORK_DIR=/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0 INSTALL_PREFIX=/var/packages/tvheadend/target TC=syno-x64-7.0  LD="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld" LDSHARED="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -shared" CPP="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-cpp" NM="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-nm" CC="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" AS="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-as" RANLIB="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib" CXX="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++" AR="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ar" STRIP="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-strip" OBJDUMP="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-objdump" READELF="/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-readelf" CFLAGS="-I/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/include " CPPFLAGS="-I/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/include " CXXFLAGS="-I/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/include " LDFLAGS="-L/home/mateusz/Pulpit/spksrc-dsm7/toolchain/syno-x64-7.0/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/lib -L/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/lib -Wl,--rpath-link,/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend/work-x64-7.0/install//var/packages/tvheadend/target/lib -Wl,--rpath,/var/packages/tvheadend/target/lib " meson builddir -Dprefix=/var/packages/tvheadend/target -Dlibdir=lib -Dradeon=false -Damdgpu=false -Dnouveau=false -Dvmwgfx=false -Dbuildtype=release --cross-file /home/mateusz/Pulpit/spksrc-dsm7/mk/meson/x86_64.cfg
env: „meson”: Nie ma takiego pliku ani katalogu
make[5]: *** [../../mk/spksrc.cross-meson.mk:28: meson_configure_target] Błąd 127
make[5]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libdrm'
make[4]: *** [../../mk/spksrc.depend.mk:51: depend_target] Błąd 2
make[4]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/libva'
make[3]: *** [../../mk/spksrc.depend.mk:51: depend_target] Błąd 2
make[3]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/ffmpeg'
make[2]: *** [../../mk/spksrc.depend.mk:51: depend_target] Błąd 2
make[2]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/cross/tvheadend'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Błąd 2
make[1]: Opuszczenie katalogu '/home/mateusz/Pulpit/spksrc-dsm7/spk/tvheadend'
make: [../../mk/spksrc.spk.mk:464: arch-x64-7.0] Błąd 2 (zignorowano)
hgy59 commented 3 years ago

@mateusz880 I cannot reproduce such error(s) (and I cannot read what failure is produces). But I only have the spksrc-docker image for building available. See attached logfiles from my successful builds of x64-6.1 and x64-7.0 on the current dsm7 branch. make.tvheadend-x64-7.0.out.txt make.tvheadend-x64-6.1.out.txt

hgy59 commented 3 years ago

aah I got it (thanks to google translate to understand Polish for me) //var/packages/tvheadend/target/lib -Wl,--rpath,/var/packages/tvheadend/target/lib " meson builddir -Dprefix=/var/packages/tvheadend/target -Dlibdir=lib -Dradeon=false -Damdgpu=false -Dnouveau=false -Dvmwgfx=false -Dbuildtype=release --cross-file /home/mateusz/Pulpit/spksrc-dsm7/mk/meson/x86_64.cfg

is fixed with #4386

mateusz880 commented 3 years ago

I think I found a solution to my problem. The Meson package was not installed for some reason Currently, I am compiling MediaSDK-intel-mediasdk-20.3.0 According to the file you uploaded, I already have about 80% progress

mateusz880 commented 3 years ago

The package compiles But synology doesn't accept the given package. I already compiled as x64 and as for ds220 + However, the package still cannot be logged. I get a message that the packet is in an invalid format.

Anyone have an idea

hgy59 commented 3 years ago

you can look into the spk file with 7-zip (or extract with tar, ...). In the contained INFO file there your should verify the following entries: os_min_ver=7.0-40000 (or may be 7.0-4000) arch="apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 v1000 x86 x86_64" (for DS220+ the list must contain "geminilake")

You find the same INFO file in the work-x64-7.0 folder. And it is possible to modify the INFO file there and call make arch-x64-7.0 again without rebuilding all the compiled files in the work-x64-7.0/install folder. So you could play with options in the INFO file. If this brings no success, I would suggest to analyze an official spk downloaded from synology for DS220+ and DSM7 beta to find the difference in the INFO file.

mateusz880 commented 3 years ago

For me, the file looks like this. There are values given by you

`package="tvheadend" version="4.3.20201011~9ed76c0-26" description="Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT IP and HDHomeRun as input sources. Tvheadend offers HTTP, HTSP and SAT IP streaming."

arch="geminilake" maintainer="th0ma7" maintainer_url="" distributor="" distributor_url="" os_min_ver="7.0-4000" helpurl="https://tvheadend.org/" reloadui="yes" displayname="Tvheadend" dsmuidir="app" dsmappname="com.synocommunity.tvheadend" dsmapppage="com.synocommunity.tvheadend" dsmapplaunchname="com.synocommunity.tvheadend" adminport="9981" changelog="1. Update to latest git version 9ed76c0 as of October 11th 2020
2. Update openssl to 1.1" support_conf_folder="yes" checksum="5c2873910b55c64c1138b7cf849a77ad"`