[FFmpeg-trac] #6580(undetermined:new): ffmpeg doesn't compile with libressl

FFmpeg trac at avcodec.org
Fri Aug 11 20:32:12 EEST 2017


#6580: ffmpeg doesn't compile with libressl
-------------------------------------+-------------------------------------
             Reporter:  hackeron     |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 ffmpeg doesn't compile with libressl:

 {{{
 libavformat/tls_openssl.c: In function 'url_bio_create':
 libavformat/tls_openssl.c:72:5: error: implicit declaration of function
 'BIO_set_init' [-Werror=implicit-function-declaration]
      BIO_set_init(b, 1);
      ^~~~~~~~~~~~
 libavformat/tls_openssl.c:73:5: error: implicit declaration of function
 'BIO_set_data' [-Werror=implicit-function-declaration]
      BIO_set_data(b, NULL);
      ^~~~~~~~~~~~
 libavformat/tls_openssl.c: In function 'url_bio_bread':
 libavformat/tls_openssl.c:89:25: error: implicit declaration of function
 'BIO_get_data' [-Werror=implicit-function-declaration]
  #define GET_BIO_DATA(x) BIO_get_data(x)
                          ^
 libavformat/tls_openssl.c:96:21: note: in expansion of macro
 'GET_BIO_DATA'
      URLContext *h = GET_BIO_DATA(b);
                      ^~~~~~~~~~~~
 libavformat/tls_openssl.c:89:25: warning: initialization makes pointer
 from integer without a cast [-Wint-conversion]
  #define GET_BIO_DATA(x) BIO_get_data(x)
                          ^
 libavformat/tls_openssl.c:96:21: note: in expansion of macro
 'GET_BIO_DATA'
      URLContext *h = GET_BIO_DATA(b);
                      ^~~~~~~~~~~~
 libavformat/tls_openssl.c: In function 'url_bio_bwrite':
 libavformat/tls_openssl.c:89:25: warning: initialization makes pointer
 from integer without a cast [-Wint-conversion]
  #define GET_BIO_DATA(x) BIO_get_data(x)
                          ^
 libavformat/tls_openssl.c:108:21: note: in expansion of macro
 'GET_BIO_DATA'
      URLContext *h = GET_BIO_DATA(b);
                      ^~~~~~~~~~~~
 libavformat/tls_openssl.c: In function 'tls_close':
 libavformat/tls_openssl.c:213:9: error: implicit declaration of function
 'BIO_meth_free' [-Werror=implicit-function-declaration]
          BIO_meth_free(c->url_bio_method);
          ^~~~~~~~~~~~~
 libavformat/tls_openssl.c: In function 'tls_open':
 libavformat/tls_openssl.c:270:25: error: implicit declaration of function
 'BIO_meth_new' [-Werror=implicit-function-declaration]
      p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol
 bio");
                          ^~~~~~~~~~~~
 libavformat/tls_openssl.c:270:23: warning: assignment makes pointer from
 integer without a cast [-Wint-conversion]
      p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol
 bio");
                        ^
 libavformat/tls_openssl.c:271:5: error: implicit declaration of function
 'BIO_meth_set_write' [-Werror=implicit-function-declaration]
      BIO_meth_set_write(p->url_bio_method, url_bio_bwrite);
      ^~~~~~~~~~~~~~~~~~
 libavformat/tls_openssl.c:272:5: error: implicit declaration of function
 'BIO_meth_set_read' [-Werror=implicit-function-declaration]
      BIO_meth_set_read(p->url_bio_method, url_bio_bread);
      ^~~~~~~~~~~~~~~~~
 libavformat/tls_openssl.c:273:5: error: implicit declaration of function
 'BIO_meth_set_puts' [-Werror=implicit-function-declaration]
      BIO_meth_set_puts(p->url_bio_method, url_bio_bputs);
      ^~~~~~~~~~~~~~~~~
 libavformat/tls_openssl.c:274:5: error: implicit declaration of function
 'BIO_meth_set_ctrl' [-Werror=implicit-function-declaration]
      BIO_meth_set_ctrl(p->url_bio_method, url_bio_ctrl);
      ^~~~~~~~~~~~~~~~~
 libavformat/tls_openssl.c:275:5: error: implicit declaration of function
 'BIO_meth_set_create' [-Werror=implicit-function-declaration]
      BIO_meth_set_create(p->url_bio_method, url_bio_create);
      ^~~~~~~~~~~~~~~~~~~
 libavformat/tls_openssl.c:276:5: error: implicit declaration of function
 'BIO_meth_set_destroy' [-Werror=implicit-function-declaration]
      BIO_meth_set_destroy(p->url_bio_method, url_bio_destroy);
      ^~~~~~~~~~~~~~~~~~~~
 CC      libavformat/udp.o
 CC      libavformat/uncodedframecrcenc.o
 CC      libavformat/unix.o
 CC      libavformat/url.o
 cc1: some warnings being treated as errors
 make: *** [ffbuild/common.mak:60: libavformat/tls_openssl.o] Error 1
 make: *** Waiting for unfinished jobs....
 The command '/bin/sh -c DIR=$(mktemp -d) && cd ${DIR} &&         git clone
 --depth 1 https://github.com/FFmpeg/FFmpeg.git . &&         ./configure
 --bindir="${SRC}/bin"         --disable-debug         --disable-doc
 --disable-ffplay         --disable-static         --enable-avresample
 --enable-gpl         --enable-libass         --enable-libopencore-amrnb
 --enable-libopencore-amrwb         --enable-libfdk_aac         --enable-
 libfreetype         --enable-libvidstab         --enable-libmp3lame
 --enable-libopus         --enable-libvorbis         --enable-libvpx
 --enable-libx264         --enable-libx265         --enable-nonfree
 --enable-openssl         --enable-postproc         --enable-shared
 --enable-small         --enable-version3         --extra-
 cflags="-I${SRC}/include"         --extra-ldflags="-L${SRC}/lib"
 --extra-libs=-ldl         --prefix="${SRC}" &&         make &&
 make install &&         make distclean &&         hash -r &&         cd
 tools &&         make qt-faststart &&         cp qt-faststart ${SRC}/bin
 &&         rm -rf ${DIR}' returned a non-zero code: 2
 Romans-Mac-Pro.local ➜  video  docker build . -f alpine.Dockerfile
 Sending build context to Docker daemon  26.62kB
 Step 1/29 : FROM ruby:alpine3.6
  ---> bf9e0ff527d0
 Step 2/29 : MAINTAINER Roman Gaufman <roman at xanview.com>
  ---> Using cache
  ---> ff49205b17b0
 Step 3/29 : CMD "/bin/bash"
  ---> Using cache
  ---> 9ef16fce29df
 Step 4/29 : WORKDIR /tmp/workdir
  ---> Using cache
  ---> 2444d14c3f72
 Step 5/29 : ENV NASM_VERSION 2.14rc0 LAME_VERSION 3.99.5 LIBASS_VERSION
 0.13.7 OGG_VERSION 1.3.2 OPENCOREAMR_VERSION 0.1.4 OPUS_VERSION 1.2
 VORBIS_VERSION 1.3.5 VPX_VERSION 1.6.1 X265_VERSION 2.5 FREETYPE_VERSION
 2.5.5 FRIBIDI_VERSION 0.19.7 FONTCONFIG_VERSION 2.12.4 LIBVIDSTAB_VERSION
 1.1.0 PKG_CONFIG_PATH /usr/local/lib/pkgconfig SRC /usr/local buildDeps
 "coreutils                     tar                     file
 autoconf                     automake                     cmake
 curl                     bzip2                     g++
 gcc                     git                     gperf
 libtool                     make                     perl
 python                     yasm                     libsndfile-dev
 python3-dev                     libva-dev" MAKEFLAGS "-j5"
  ---> Using cache
 }}}

 This patch fixes the problem:
 https://raw.githubusercontent.com/gentoo/libressl/master/media-
 video/ffmpeg/files/ffmpeg-3.3-libressl.patch

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6580>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list