Bug #2196

Unable to build: implicit function declaration COMP_zlib_cleanup

Added by virtual dj about 7 years ago. Updated almost 7 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Found in version:
Affected Versions:


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

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

  Using C compiler:                        cc
  Build for arch:                          x86_64

  Using PYTHON:                            python

  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

  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:

Tvheadend Data Directory:

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?



Updated by virtual dj about 7 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 ( results in several additions and I'm not so skilled to figure out where's the problem.


Updated by Niels Ole Salscheider almost 7 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 7 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

Also available in: Atom PDF