Project

General

Profile

Bug #5203

Cannot compile Tvheadend anymore

Added by Stefan Dietzel about 6 years ago. Updated about 6 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
General
Target version:
-
Start date:
2018-09-12
Due date:
% Done:

0%

Estimated time:
Found in version:
e71dd168f5a7355055505f3ee1a9674814a5d418
Affected Versions:

Description

Since the commit with the ffmpeg update i cannot compile tvheadend anymore:

Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc -Wunused-result ... ok
checking for cc strlcat ... fail
checking for cc strlcpy ... fail
checking for cc getloadavg ... ok
checking for cc atomic32 ... ok
checking for cc atomic64 ... ok
checking for cc atomic_time_t ... ok
checking for cc atomic_ptr ... ok
checking for cc bitops64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc stime ... ok
checking for cc gmtoff ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
^ using build-in glibc iconv routines
checking for cc ifnames ... ok
checking for cc cclang_threadsan ... fail
checking for py module gzip ... ok
checking for pkg-config ... ok
checking for xgettext ... ok
checking for msgmerge ... ok
checking for gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... ok (detected 1.1.0h)
checking for cc linux/dvb/version.h ... ok
checking for pkg zlib ... ok (detected 1.2.11)
checking for pkg libpcre2-8 ... ok (detected 10.31)
checking for pkg liburiparser ... ok (detected 0.8.5)
checking for pkg avahi-client ... ok (detected 0.7)
checking for cmake ... ok
checking for cc -lstdc++ ... ok
checking for pkg libva >=0.38.0 ... ok (detected 1.2.0)
checking for pkg libva-x11 >=0.38.0 ... ok (detected 1.2.0)
checking for pkg libva-drm >=0.38.0 ... ok (detected 1.2.0)
checking for cc sys/inotify.h ... ok
checking for cc inotify_init1 ... ok
checking for cc dvbcsa/dvbcsa.h ... ok
checking for cc -ldvbcsa ... ok
fetching dvb-scan files ... ok
checking for cc epoll_create1 ... ok
checking for pkg dbus-1 ... ok (detected 1.12.10)

Compiler:
Using C compiler: ccache cc
Using LD flags: -ldvbcsa
Build for arch: x86_64

Binaries:
Using PYTHON: python
Using GZIP: gzip
Using BZIP2: bzip2

Options:
pie yes
ccdebug no
cardclient yes
cwc yes
cccam yes
capmt yes
constcw yes
linuxdvb yes
satip_server yes
satip_client yes
hdhomerun_client yes
hdhomerun_static yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
imagecache yes
avahi yes
zlib yes
libav yes
ffmpeg_static yes
libx264 yes
libx264_static yes
libx265 yes
libx265_static yes
libvpx yes
libvpx_static yes
libtheora yes
libtheora_static yes
libvorbis yes
libvorbis_static yes
libfdkaac no
libfdkaac_static no
libopus yes
libopus_static yes
nvenc no
vaapi yes
mmal no
omx no
inotify yes
epoll yes
pcre no
pcre2 yes
uriparser yes
ccache yes
tvhcsa yes
bundle no
pngquant no
kqueue no
dbus_1 yes
android no
gtimer_check no
slow_memoryinfo no
libsystemd_daemon no
bintray_cache yes
ddci yes
cclang_threadsan no
gperftools no
execinfo yes
mmx yes
sse2 yes
W_unused_result yes
getloadavg yes
atomic32 yes
atomic64 yes
atomic_time_t yes
atomic_ptr yes
bitops64 yes
lockowner yes
qsort_r yes
stime yes
gmtoff yes
recvmmsg yes
sendmmsg yes
ifnames yes
py_gzip yes
bin_pkg_config yes
bin_xgettext yes
bin_msgmerge yes
bin_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
linuxdvb_ca yes
upnp yes
bin_cmake yes
stdcpp yes
libogg_static yes
hwaccels yes
inotify_h yes
inotify_init1 yes
dvbcsa yes
epoll_create1 yes
mpegts yes
mpegts_dvb yes

Packages:
openssl 1.1.0h
zlib 1.2.11
libpcre2-8 10.31
liburiparser 0.8.5
avahi-client 0.7
libva 1.2.0
libva-x11 1.2.0
libva-drm 1.2.0
dbus-1 1.12.10

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

Final Binary:
/root/src/tvheadend/build.linux/tvheadend

Tvheadend Data Directory:
/usr/share/tvheadend

make1: Verzeichnis „/root/src/tvheadend“ wird verlassen
debian/rules override_dh_auto_build
make1: Verzeichnis „/root/src/tvheadend“ wird betreten
make
make2: Verzeichnis „/root/src/tvheadend“ wird betreten
make f Makefile.ffmpeg libcacheget
make3: Verzeichnis „/root/src/tvheadend“ wird betreten
DOWNLOAD https://dl.bintray.com/tvheadend/misc/staticlib/Debian%20testing/x86_64/ffmpeg-2ae1157cbaec3f6f94241c92416373acccce4000.tgz
--2018-09-12 14:49:11-
https://dl.bintray.com/tvheadend/misc/staticlib/Debian%20testing/x86_64/ffmpeg-2ae1157cbaec3f6f94241c92416373acccce4000.tgz
Auflösen des Hostnamens dl.bintray.com (dl.bintray.com)… 159.122.18.156
Verbindungsaufbau zu dl.bintray.com (dl.bintray.com)|159.122.18.156|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 404 Not Found
2018-09-12 14:49:11 FEHLER 404: Not Found.

FAILED TO DOWNLOAD https://dl.bintray.com/tvheadend/misc/staticlib/Debian%20testing/x86_64/ffmpeg-2ae1157cbaec3f6f94241c92416373acccce4000.tgz (BUT THIS IS NOT A FATAL ERROR! DO NOT REPORT THAT!)
make3: Verzeichnis „/root/src/tvheadend“ wird verlassen
make -f Makefile.ffmpeg
make3: Verzeichnis „/root/src/tvheadend“ wird betreten
cd /root/src/tvheadend/build.linux/ffmpeg/nasm-2.13.03 && CC="gcc -fPIE" FFMPEG_PREFIX=/root/src/tvheadend/build.linux/ffmpeg/build/ffmpeg PKG_CONFIG=/root/src/tvheadend/support/pkg-config.ffmpeg ./configure --prefix=/ffmpeg --enable-static --disable-shared \
--libdir=/ffmpeg/lib
configure: WARNING: unrecognized options: --enable-static, --disable-shared
checking for gcc... gcc -fPIE
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -fPIE accepts -g... yes
checking for gcc -fPIE option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -fPIE -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define EXTENSIONS... yes
checking for special C compiler options needed for large files... no
checking for FILE_OFFSET_BITS value needed for large files... no
checking for gcc... (cached) gcc -fPIE
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -fPIE accepts -g... (cached) yes
checking for gcc -fPIE option to accept ISO C89... (cached) none needed
checking for gcc -fPIE option to accept ISO C99... none needed
checking for gcc -fPIE option to accept ISO Standard C... (cached) none needed
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for suffix of library files... a
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... restrict
checking for size_t... yes
checking whether byte ordering is bigendian... no
checking if gcc -fPIE accepts -fwrapv... yes
checking if gcc -fPIE accepts -U
_STRICT_ANSI... yes
checking if gcc -fPIE accepts -fno-common... yes
checking for nroff... nroff
checking for asciidoc... no
checking for xmlto... no
configure: WARNING: No asciidoc package found
configure: WARNING: No xmlto package found
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for ANSI C header files... (cached) yes
checking for inttypes.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for Bool... yes
checking stdnoreturn.h usability... yes
checking stdnoreturn.h presence... yes
checking for stdnoreturn.h... yes
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for strcasecmp... yes
checking for stricmp... no
checking for strncasecmp... yes
checking for strnicmp... no
checking for strsep... yes
checking for strnlen... yes
checking for getuid... yes
checking for getgid... yes
checking for realpath... yes
checking for canonicalize_file_name... yes
checking for _fullpath... no
checking for pathconf... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for _fseeki64... no
checking for ftruncate... yes
checking for _chsize... no
checking for _chsize_s... no
checking for fileno... yes
checking for _fileno... no
checking for _filelengthi64... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for getpagesize... (cached) yes
checking for sysconf... yes
checking for access... yes
checking for _access... no
checking for faccessat... yes
checking for builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_expect... yes
checking for vsnprintf... yes
checking for _vsnprintf... no
checking for snprintf... yes
checking for _snprintf... no
checking for strlcpy... no
checking for struct _stati64... no
checking for struct stat... yes
checking for stat... yes
checking for _stati64... no
checking for fstat... yes
checking for _fstati64... no
checking whether strcasecmp is declared... yes
checking whether stricmp is declared... no
checking whether strncasecmp is declared... yes
checking whether strnicmp is declared... no
checking whether strsep is declared... yes
checking whether strlcpy is declared... no
checking whether strnlen is declared... yes
checking for uintptr_t... yes
checking if gcc -fPIE accepts -Werror=attributes... yes
checking if gcc -fPIE supports the noreturn function attribute... yes
checking if gcc -fPIE supports the returns_nonnull function attribute... yes
checking if gcc -fPIE supports the malloc function attribute... yes
checking if gcc -fPIE supports the alloc_size function attribute... yes
checking if gcc -fPIE supports the format function attribute... yes
checking if gcc -fPIE supports the const function attribute... yes
checking if gcc -fPIE supports the pure function attribute... yes
checking if gcc -fPIE supports the error function attribute... yes
checking if gcc -fPIE accepts -W... yes
checking if gcc -fPIE accepts -Wall... yes
checking if gcc -fPIE accepts -pedantic... yes
checking if gcc -fPIE accepts -Werror=unknown-warning-option... no
checking if gcc -fPIE accepts -Wpedantic-ms-format... no
checking if gcc -fPIE accepts -Wc90-c99-compat... yes
checking if gcc -fPIE accepts -Wlong-long... yes
checking if gcc -fPIE accepts -Werror=implicit... yes
checking if gcc -fPIE accepts -Werror=missing-braces... yes
checking if gcc -fPIE accepts -Werror=return-type... yes
checking if gcc -fPIE accepts -Werror=trigraphs... yes
checking if gcc -fPIE accepts -Werror=pointer-arith... yes
checking if gcc -fPIE accepts -Werror=strict-prototypes... no
checking if gcc -fPIE accepts -Werror=missing-prototypes... yes
checking if gcc -fPIE accepts -Werror=missing-declarations... yes
checking if gcc -fPIE accepts -Werror=comment... yes
checking if gcc -fPIE accepts -Werror=vla... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating config/config.h
config.status: config/config.h is unchanged
config.status: executing default-1 commands
configure: WARNING: unrecognized options: --enable-static, --disable-shared
INSTALLROOT=/root/src/tvheadend/build.linux/ffmpeg/build \
make -C /root/src/tvheadend/build.linux/ffmpeg/nasm-2.13.03 install
make4: Verzeichnis „/root/src/tvheadend/build.linux/ffmpeg/nasm-2.13.03“ wird betreten
gcc -fPIE -c -g -O3 -fwrapv -U
_STRICT_ANSI -fno-common -Werror=attributes -W -Wall -pedantic -Wc90-c99-compat -Wno-long-long -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/nasm.o asm/nasm.c
In file included from ./include/nasm.h:46,
from asm/nasm.c:47:
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
void pure_func seg_init(void);
^~~~
cc1: some warnings being treated as errors
make4: * [Makefile:75: asm/nasm.o] Fehler 1
make4: Verzeichnis „/root/src/tvheadend/build.linux/ffmpeg/nasm-2.13.03“ wird verlassen
make3:
[Makefile.ffmpeg:182: /root/src/tvheadend/build.linux/ffmpeg/nasm-2.13.03/.tvh_build] Fehler 2
make3: Verzeichnis „/root/src/tvheadend“ wird verlassen
make2:
[Makefile:839: /root/src/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Fehler 2
make2: Verzeichnis „/root/src/tvheadend“ wird verlassen
make1:
[debian/rules:14: override_dh_auto_build] Fehler 2
make1: Verzeichnis „/root/src/tvheadend“ wird verlassen
make: *
* [debian/rules:5: build] Fehler 2
dpkg-buildpackage: Fehler: debian/rules build subprocess returned exit status 2

I am using actual testing of debian with gcc (Debian 8.2.0-5) 8.2.0
For configuration I am only using parameter --enable-vaapi.

I deleted the repository and pulled it newly from git but I get always the same error.

For compiling I run the following commands:

./configure --enable-vaapi
make
AUTOBUILD_CONFIGURE_EXTRA="--enable-vaapi" ./Autobuild.sh -t debian

History

#2

Updated by Stefan Dietzel about 6 years ago

Error was:

./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
void pure_func seg_init(void);
^~~~

It seems that this error is known for nasm with GCC8 and a patch is avaiable:

https://git.busybox.net/buildroot/commit/?id=3aa64a0e828eca3669cbd1fa3fb9fef69dacf74e

#3

Updated by Stefan Dietzel about 6 years ago

I tried it and deleted the line

void pure_func seg_init(void);

in build.linux/ffmpeg/nasm-2.13.03/include/nasmlib.h and now the compilation worked.

#4

Updated by Jaroslav Kysela about 6 years ago

  • Status changed from New to Fixed

Fixed in master.

Also available in: Atom PDF