Bug #2196
closedUnable to build: implicit function declaration COMP_zlib_cleanup
0%
Description
I'm trying to build the latest git on a VM (using an old gcc, I know, but I need to use this one) but it fails with the errors below.
debian-x64:~/tvheadend/tvheadend# git rev-parse HEAD
4bf8754ef33d925a382f48858cd3d3fd2dc31319
debian-x64:~/tvheadend/tvheadend# ./configure --disable-avahi --enable-bundle
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 atomic64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... fail
checking for cc recvmmsg ... fail
checking for cc libiconv ... 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 ... fail
checking for pkg liburiparser ... fail
checking for pkg libavcodec <=55.0.0 ... fail
checking for cc sys/inotify.h ... ok
fetching dvb-scan files ... ok
Compiler:
Using C compiler: cc
Build for arch: x86_64
Binaries:
Using PYTHON: python
Options:
cwc yes
capmt yes
v4l no
linuxdvb yes
satip_client yes
iptv yes
tsfile yes
dvbscan yes
timeshift yes
trace yes
imagecache yes
avahi no
zlib no
libav no
inotify yes
epoll yes
uriparser no
ccache no
tvhcsa yes
bundle yes
dvbcsa no
kqueue no
execinfo yes
mmx yes
sse2 yes
getloadavg yes
atomic64 yes
lockowner yes
py_gzip yes
bin_bzip2 yes
ssl yes
linuxdvbapi yes
upnp yes
inotify_h yes
mpegts yes
mpegps no
mpegts_dvb yes
Packages:
openssl 0.9.8g
Installation paths:
Prefix: /usr/local
Binaries: ${prefix}/bin
Libraries: ${prefix}/lib
Data files: ${prefix}/share
Man pages: ${datadir}/man
Final Binary:
/root/tvheadend/tvheadend/build.linux/tvheadend
Tvheadend Data Directory:
/usr/local/share/tvheadend
debian-x64:~/tvheadend/tvheadend# make
CC src/version.o
CC src/uuid.o
CC src/main.o
cc1: warnings being treated as errors
src/main.c: In function ‘main’:
src/main.c:916: error: implicit declaration of function ‘COMP_zlib_cleanup’
make: *** [/root/tvheadend/tvheadend/build.linux/src/main.o] Error 1
debian-x64:~/tvheadend/tvheadend# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1)
Note that adding --disable-zlib option does not change anything (same error).
On another system with newer gcc it works, of course, but I need to build TVHeadend on this one.
Have you got any suggestions?
Thanks.
Updated by virtual dj over 11 years ago
virtual dj wrote:
I'm trying to build the latest git on a VM (using an old gcc, I know, but I need to use this one) but it fails with the errors below.
I've tried to roll-back to previous git hashes and I've found that make always fails, up to git hash 'de20cfda59b6ce'.
So, '*de20cfda59b6ce*' FAILS, while '*0e720dc62bdd*' "WORKS"; I mean "works" because actually there is another error:
File "/root/tvheadend/tvheadend/support/mkbundle", line 43, in <module> for (p, ds, fs) in os.walk(path, followlinks=True): TypeError: walk() got an unexpected keyword argument 'followlinks'
But at least there is no COMP_zlib_cleanup error.
The comparison of the two versions in GitHub (https://github.com/tvheadend/tvheadend/compare/0e720dc62bdd...de20cfda59b6ce) results in several additions and I'm not so skilled to figure out where's the problem.
Updated by Niels Ole Salscheider almost 11 years ago
Does your system use libressl instead of openssl? libressl removed the SSL compression functionality because it is vulnerable to the CRIME attack...
Updated by virtual dj almost 11 years ago
No, it's using openssl I think. Actually it's an old version:
debian-x64:~/tvheadend/tvheadend# openssl version OpenSSL 0.9.8g 19 Oct 2007