Page 1 of 1

Apparent libavcodec version detection bug

Posted: Fri Apr 14, 2017 10:37 pm
by GTKNarwhal
A week ago I was able to install MakeMKV 1.10.5 on an Ubuntu 16.04 system without issue. Yesterday, the installation failed while running configure in the OSS directory, with the error message:
configure: error: The libavcodec library is too old. Please get a recent one from http://www.ffmpeg.org
. I was using the latest version (3.3) from ffmpeg.org, so I had a difficult time believing this. The only difference I can detect between now and a week ago is ffmpeg went from 3.2.? to 3.3.

Guessing that configure is not accurately detecting the libavcodec version number, I commented out the version check (lines 15969 - 15971) from configure I was able to complete the installation and am currently transcoding the BD of A Clockwork Orange. :D

Re: Apparent libavcodec version detection bug

Posted: Wed Apr 26, 2017 11:56 am
by BrionS
I got this exact same problem today. Downloaded and built ffmpeg 3.3, installed, and when I went to build makemkv-oss-1.10.5 it failed to configure claiming libavcodec was too old.

Code: Select all

brion@lightyear:~/Downloads/makemkv/ffmpeg-3.3$ ./configure --prefix=/tmp/ffmpeg --enable-static --disable-shared --enable-pic --disable-yasm
install prefix            /tmp/ffmpeg
source path               .
C compiler                gcc
C library                 glibc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
yasm                      no
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
network support           yes
threading support         pthreads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          no
makeinfo supports HTML    no

External libraries:
iconv			   libxcb		      libxcb_shape		 libxcb_xfixes		    xlib		       zlib

External libraries providing hardware acceleration:
cuda			   cuvid		      nvenc

Libraries:
avcodec			   avfilter		      avformat			 avutil			    swresample		       swscale
avdevice

Programs:
ffmpeg			   ffprobe		      ffserver

Enabled decoders:
aac			   aura			      ffv1			 movtext		    pcm_s8		       ssa
aac_fixed		   aura2		      ffvhuff			 mp1			    pcm_s8_planar	       stl
aac_latm		   avrn			      ffwavesynth		 mp1float		    pcm_u16be		       subrip
aasc			   avrp			      fic			 mp2			    pcm_u16le		       subviewer
ac3			   avs			      flac			 mp2float		    pcm_u24be		       subviewer1
ac3_fixed		   avui			      flashsv			 mp3			    pcm_u24le		       sunrast
adpcm_4xm		   ayuv			      flashsv2			 mp3adu			    pcm_u32be		       svq1
adpcm_adx		   bethsoftvid		      flic			 mp3adufloat		    pcm_u32le		       svq3
adpcm_afc		   bfi			      flv			 mp3float		    pcm_u8		       tak
adpcm_aica		   bink			      fmvc			 mp3on4			    pcm_zork		       targa
adpcm_ct		   binkaudio_dct	      fourxm			 mp3on4float		    pcx			       targa_y216
adpcm_dtk		   binkaudio_rdft	      fraps			 mpc7			    pgm			       tdsc
adpcm_ea		   bintext		      frwu			 mpc8			    pgmyuv		       text
adpcm_ea_maxis_xa	   bmp			      g2m			 mpeg1_cuvid		    pgssub		       theora
adpcm_ea_r1		   bmv_audio		      g723_1			 mpeg1video		    pictor		       thp
adpcm_ea_r2		   bmv_video		      g729			 mpeg2_cuvid		    pixlet		       tiertexseqvideo
adpcm_ea_r3		   brender_pix		      gif			 mpeg2video		    pjs			       tiff
adpcm_ea_xas		   c93			      gsm			 mpeg4			    png			       tmv
adpcm_g722		   cavs			      gsm_ms			 mpeg4_cuvid		    ppm			       truehd
adpcm_g726		   ccaption		      h261			 mpegvideo		    prores		       truemotion1
adpcm_g726le		   cdgraphics		      h263			 mpl2			    prores_lgpl		       truemotion2
adpcm_ima_amv		   cdxl			      h263i			 msa1			    psd			       truemotion2rt
adpcm_ima_apc		   cfhd			      h263p			 msmpeg4v1		    ptx			       truespeech
adpcm_ima_dat4		   cinepak		      h264			 msmpeg4v2		    qcelp		       tscc
adpcm_ima_dk3		   clearvideo		      h264_cuvid		 msmpeg4v3		    qdm2		       tscc2
adpcm_ima_dk4		   cljr			      hap			 msrle			    qdmc		       tta
adpcm_ima_ea_eacs	   cllc			      hevc			 mss1			    qdraw		       twinvq
adpcm_ima_ea_sead	   comfortnoise		      hevc_cuvid		 mss2			    qpeg		       txd
adpcm_ima_iss		   cook			      hnm4_video		 msvideo1		    qtrle		       ulti
adpcm_ima_oki		   cpia			      hq_hqa			 mszh			    r10k		       utvideo
adpcm_ima_qt		   cscd			      hqx			 mts2			    r210		       v210
adpcm_ima_rad		   cyuv			      huffyuv			 mvc1			    ra_144		       v210x
adpcm_ima_smjpeg	   dca			      iac			 mvc2			    ra_288		       v308
adpcm_ima_wav		   dds			      idcin			 mxpeg			    ralf		       v408
adpcm_ima_ws		   dfa			      idf			 nellymoser		    rawvideo		       v410
adpcm_ms		   dirac		      iff_ilbm			 nuv			    realtext		       vb
adpcm_mtaf		   dnxhd		      imc			 on2avc			    rl2			       vble
adpcm_psx		   dpx			      indeo2			 opus			    roq			       vc1
adpcm_sbpro_2		   dsd_lsbf		      indeo3			 paf_audio		    roq_dpcm		       vc1_cuvid
adpcm_sbpro_3		   dsd_lsbf_planar	      indeo4			 paf_video		    rpza		       vc1image
adpcm_sbpro_4		   dsd_msbf		      indeo5			 pam			    rscc		       vcr1
adpcm_swf		   dsd_msbf_planar	      interplay_acm		 pbm			    rv10		       vmdaudio
adpcm_thp		   dsicinaudio		      interplay_dpcm		 pcm_alaw		    rv20		       vmdvideo
adpcm_thp_le		   dsicinvideo		      interplay_video		 pcm_bluray		    rv30		       vmnc
adpcm_vima		   dss_sp		      jacosub			 pcm_dvd		    rv40		       vorbis
adpcm_xa		   dst			      jpeg2000			 pcm_f16le		    s302m		       vp3
adpcm_yamaha		   dvaudio		      jpegls			 pcm_f24le		    sami		       vp5
aic			   dvbsub		      jv			 pcm_f32be		    sanm		       vp6
alac			   dvdsub		      kgv1			 pcm_f32le		    scpr		       vp6a
alias_pix		   dvvideo		      kmvc			 pcm_f64be		    screenpresso	       vp6f
als			   dxa			      lagarith			 pcm_f64le		    sdx2_dpcm		       vp7
amrnb			   dxtory		      loco			 pcm_lxf		    sgi			       vp8
amrwb			   dxv			      m101			 pcm_mulaw		    sgirle		       vp8_cuvid
amv			   eac3			      mace3			 pcm_s16be		    sheervideo		       vp9
anm			   eacmv		      mace6			 pcm_s16be_planar	    shorten		       vp9_cuvid
ansi			   eamad		      magicyuv			 pcm_s16le		    sipr		       vplayer
ape			   eatgq		      mdec			 pcm_s16le_planar	    smackaud		       vqa
apng			   eatgv		      metasound			 pcm_s24be		    smacker		       wavpack
ass			   eatqi		      microdvd			 pcm_s24daud		    smc			       webp
asv1			   eightbps		      mimic			 pcm_s24le		    smvjpeg		       webvtt
asv2			   eightsvx_exp		      mjpeg			 pcm_s24le_planar	    snow		       wmalossless
atrac1			   eightsvx_fib		      mjpeg_cuvid		 pcm_s32be		    sol_dpcm		       wmapro
atrac3			   escape124		      mjpegb			 pcm_s32le		    sonic		       wmav1
atrac3al		   escape130		      mlp			 pcm_s32le_planar	    sp5x		       wmav2
atrac3p			   evrc			      mmvideo			 pcm_s64be		    speedhq		       wmavoice
atrac3pal		   exr			      motionpixels		 pcm_s64le		    srt			       wmv1
wmv2			   xan_dpcm		      xbm			 xma2			    y41p		       zero12v
wmv3			   xan_wc3		      xface			 xpm			    ylc			       zerocodec
wmv3image		   xan_wc4		      xl			 xsub			    yop			       zlib
wnv1			   xbin			      xma1			 xwd			    yuv4		       zmbv
ws_snd1

Enabled encoders:
a64multi		   comfortnoise		      mjpeg			 pcm_s16be_planar	    ppm			       tiff
a64multi5		   dca			      mlp			 pcm_s16le		    prores		       truehd
aac			   dnxhd		      movtext			 pcm_s16le_planar	    prores_aw		       tta
ac3			   dpx			      mp2			 pcm_s24be		    prores_ks		       utvideo
ac3_fixed		   dvbsub		      mp2fixed			 pcm_s24daud		    qtrle		       v210
adpcm_adx		   dvdsub		      mpeg1video		 pcm_s24le		    r10k		       v308
adpcm_g722		   dvvideo		      mpeg2video		 pcm_s24le_planar	    r210		       v408
adpcm_g726		   eac3			      mpeg4			 pcm_s32be		    ra_144		       v410
adpcm_ima_qt		   ffv1			      msmpeg4v2			 pcm_s32le		    rawvideo		       vc2
adpcm_ima_wav		   ffvhuff		      msmpeg4v3			 pcm_s32le_planar	    roq			       vorbis
adpcm_ms		   flac			      msvideo1			 pcm_s64be		    roq_dpcm		       wavpack
adpcm_swf		   flashsv		      nellymoser		 pcm_s64le		    rv10		       webvtt
adpcm_yamaha		   flashsv2		      nvenc			 pcm_s8			    rv20		       wmav1
alac			   flv			      nvenc_h264		 pcm_s8_planar		    s302m		       wmav2
alias_pix		   g723_1		      nvenc_hevc		 pcm_u16be		    sgi			       wmv1
amv			   gif			      opus			 pcm_u16le		    snow		       wmv2
apng			   h261			      pam			 pcm_u24be		    sonic		       wrapped_avframe
ass			   h263			      pbm			 pcm_u24le		    sonic_ls		       xbm
asv1			   h263p		      pcm_alaw			 pcm_u32be		    srt			       xface
asv2			   h264_nvenc		      pcm_f32be			 pcm_u32le		    ssa			       xsub
avrp			   hevc_nvenc		      pcm_f32le			 pcm_u8			    subrip		       xwd
avui			   huffyuv		      pcm_f64be			 pcx			    sunrast		       y41p
ayuv			   jpeg2000		      pcm_f64le			 pgm			    svq1		       yuv4
bmp			   jpegls		      pcm_mulaw			 pgmyuv			    targa		       zlib
cinepak			   ljpeg		      pcm_s16be			 png			    text		       zmbv
cljr

Enabled hwaccels:
h264_cuvid		   mjpeg_cuvid		      mpeg2_cuvid		 vc1_cuvid		    vp8_cuvid		       vp9_cuvid
hevc_cuvid		   mpeg1_cuvid		      mpeg4_cuvid

Enabled parsers:
aac			   dca			      dvdsub			 hevc			    png			       vc1
aac_latm		   dirac		      flac			 mjpeg			    pnm			       vorbis
ac3			   dnxhd		      g729			 mlp			    rv30		       vp3
adx			   dpx			      gsm			 mpeg4video		    rv40		       vp8
bmp			   dvaudio		      h261			 mpegaudio		    sipr		       vp9
cavsvideo		   dvbsub		      h263			 mpegvideo		    tak			       xma
cook			   dvd_nav		      h264			 opus

Enabled demuxers:
aa			   dfa			      image2_brender_pix	 mlp			    pcm_u16be		       subviewer
aac			   dirac		      image2pipe		 mlv			    pcm_u16le		       subviewer1
ac3			   dnxhd		      image_bmp_pipe		 mm			    pcm_u24be		       sup
acm			   dsf			      image_dds_pipe		 mmf			    pcm_u24le		       svag
act			   dsicin		      image_dpx_pipe		 mov			    pcm_u32be		       swf
adf			   dss			      image_exr_pipe		 mp3			    pcm_u32le		       tak
adp			   dts			      image_j2k_pipe		 mpc			    pcm_u8		       tedcaptions
ads			   dtshd		      image_jpeg_pipe		 mpc8			    pjs			       thp
adx			   dv			      image_jpegls_pipe		 mpegps			    pmp			       threedostr
aea			   dvbsub		      image_pam_pipe		 mpegts			    pva			       tiertexseq
afc			   dvbtxt		      image_pbm_pipe		 mpegtsraw		    pvf			       tmv
aiff			   dxa			      image_pcx_pipe		 mpegvideo		    qcp			       truehd
aix			   ea			      image_pgm_pipe		 mpjpeg			    r3d			       tta
amr			   ea_cdata		      image_pgmyuv_pipe		 mpl2			    rawvideo		       tty
anm			   eac3			      image_pictor_pipe		 mpsub			    realtext		       txd
apc			   epaf			      image_png_pipe		 msf			    redspark		       v210
ape			   ffm			      image_ppm_pipe		 msnwc_tcp		    rl2			       v210x
apng			   ffmetadata		      image_psd_pipe		 mtaf			    rm			       vag
aqtitle			   filmstrip		      image_qdraw_pipe		 mtv			    roq			       vc1
asf			   flac			      image_sgi_pipe		 musx			    rpl			       vc1t
asf_o			   flic			      image_sunrast_pipe	 mv			    rsd			       vivo
ass			   flv			      image_tiff_pipe		 mvi			    rso			       vmd
ast			   fourxm		      image_webp_pipe		 mxf			    rtp			       vobsub
au			   frm			      image_xpm_pipe		 mxg			    rtsp		       voc
avi			   fsb			      ingenient			 nc			    sami		       vpk
avr			   g722			      ipmovie			 nistsphere		    sap			       vplayer
avs			   g723_1		      ircam			 nsv			    sbg			       vqf
bethsoftvid		   g729			      iss			 nut			    scc			       w64
bfi			   genh			      iv8			 nuv			    sdp			       wav
bfstm			   gif			      ivf			 ogg			    sdr2		       wc3
bink			   gsm			      ivr			 oma			    sds			       webm_dash_manifest
bintext			   gxf			      jacosub			 paf			    sdx			       webvtt
bit			   h261			      jv			 pcm_alaw		    segafilm		       wsaud
bmv			   h263			      live_flv			 pcm_f32be		    shorten		       wsd
boa			   h264			      lmlm4			 pcm_f32le		    siff		       wsvqa
brstm			   hevc			      loas			 pcm_f64be		    sln			       wtv
c93			   hls			      lrc			 pcm_f64le		    smacker		       wv
caf			   hnm			      lvf			 pcm_mulaw		    smjpeg		       wve
cavsvideo		   ico			      lxf			 pcm_s16be		    smush		       xa
cdg			   idcin		      m4v			 pcm_s16le		    sol			       xbin
cdxl			   idf			      matroska			 pcm_s24be		    sox			       xmv
cine			   iff			      mgsts			 pcm_s24le		    spdif		       xvag
concat			   ilbc			      microdvd			 pcm_s32be		    srt			       xwma
data			   image2		      mjpeg			 pcm_s32le		    stl			       yop
daud			   image2_alias_pix	      mjpeg_2000		 pcm_s8			    str			       yuv4mpegpipe
dcstr

Enabled muxers:
a64			   eac3			      image2			 mpeg2dvd		    pcm_s24le		       sox
ac3			   f4v			      image2pipe		 mpeg2svcd		    pcm_s32be		       spdif
adts			   ffm			      ipod			 mpeg2video		    pcm_s32le		       spx
adx			   ffmetadata		      ircam			 mpeg2vob		    pcm_s8		       srt
aiff			   fifo			      ismv			 mpegts			    pcm_u16be		       stream_segment
amr			   filmstrip		      ivf			 mpjpeg			    pcm_u16le		       swf
apng			   flac			      jacosub			 mxf			    pcm_u24be		       tee
asf			   flv			      latm			 mxf_d10		    pcm_u24le		       tg2
asf_stream		   framecrc		      lrc			 mxf_opatom		    pcm_u32be		       tgp
ass			   framehash		      m4v			 null			    pcm_u32le		       truehd
ast			   framemd5		      matroska			 nut			    pcm_u8		       tta
au			   g722			      matroska_audio		 oga			    psp			       uncodedframecrc
avi			   g723_1		      md5			 ogg			    rawvideo		       vc1
avm2			   gif			      microdvd			 ogv			    rm			       vc1t
bit			   gsm			      mjpeg			 oma			    roq			       voc
caf			   gxf			      mkvtimestamp_v2		 opus			    rso			       w64
cavsvideo		   h261			      mlp			 pcm_alaw		    rtp			       wav
crc			   h263			      mmf			 pcm_f32be		    rtp_mpegts		       webm
dash			   h264			      mov			 pcm_f32le		    rtsp		       webm_chunk
data			   hash			      mp2			 pcm_f64be		    sap			       webm_dash_manifest
daud			   hds			      mp3			 pcm_f64le		    scc			       webp
dirac			   hevc			      mp4			 pcm_mulaw		    segment		       webvtt
dnxhd			   hls			      mpeg1system		 pcm_s16be		    singlejpeg		       wtv
dts			   ico			      mpeg1vcd			 pcm_s16le		    smjpeg		       wv
dv			   ilbc			      mpeg1video		 pcm_s24be		    smoothstreaming	       yuv4mpegpipe

Enabled protocols:
async			   ffrtmphttp		      http			 mmst			    rtp			       tee
cache			   file			      httpproxy			 pipe			    srtp		       udp
concat			   ftp			      icecast			 prompeg		    subfile		       udplite
crypto			   gopher		      md5			 rtmp			    tcp			       unix
data			   hls			      mmsh			 rtmpt

Enabled filters:
abench			   asetpts		      curves			 highpass		    palettegen		       sidechaingate
abitscope		   asetrate		      datascope			 histogram		    paletteuse		       sidedata
acompressor		   asettb		      dcshift			 hqx			    pan			       signalstats
acrossfade		   ashowinfo		      dctdnoiz			 hstack			    perms		       silencedetect
acrusher		   asidedata		      deband			 hue			    pixdesctest		       silenceremove
adelay			   asplit		      decimate			 hwdownload		    premultiply		       sine
adrawgraph		   astats		      deflate			 hwmap			    prewitt		       smptebars
aecho			   astreamselect	      dejudder			 hwupload		    psnr		       smptehdbars
aemphasis		   atadenoise		      deshake			 hwupload_cuda		    qp			       sobel
aeval			   atempo		      detelecine		 hysteresis		    random		       spectrumsynth
aevalsrc		   atrim		      dilation			 idet			    readeia608		       split
afade			   avectorscope		      displace			 il			    readvitc		       ssim
afftfilt		   avgblur		      drawbox			 inflate		    realtime		       stereotools
aformat			   bandpass		      drawgraph			 interleave		    remap		       stereowiden
agate			   bandreject		      drawgrid			 join			    removegrain		       streamselect
ahistogram		   bass			      dynaudnorm		 lenscorrection		    removelogo		       swaprect
ainterleave		   bbox			      earwax			 life			    replaygain		       swapuv
alimiter		   bench		      ebur128			 loop			    reverse		       tblend
allpass			   biquad		      edgedetect		 loudnorm		    rgbtestsrc		       telecine
allrgb			   bitplanenoise	      elbg			 lowpass		    rotate		       testsrc
allyuv			   blackdetect		      equalizer			 lut			    scale		       testsrc2
aloop			   blend		      erosion			 lut2			    scale2ref		       threshold
alphaextract		   bwdif		      extractplanes		 lut3d			    select		       thumbnail
alphamerge		   cellauto		      extrastereo		 lutrgb			    selectivecolor	       tile
amerge			   channelmap		      fade			 lutyuv			    sendcmd		       transpose
ametadata		   channelsplit		      fftfilt			 mandelbrot		    separatefields	       treble
amix			   chorus		      field			 maskedclamp		    setdar		       tremolo
amovie			   chromakey		      fieldhint			 maskedmerge		    setfield		       trim
anequalizer		   ciescope		      fieldmatch		 mergeplanes		    setpts		       unsharp
anoisesrc		   codecview		      fieldorder		 mestimate		    setsar		       vectorscope
anull			   color		      firequalizer		 metadata		    settb		       vflip
anullsink		   colorbalance		      flanger			 midequalizer		    showcqt		       vibrato
anullsrc		   colorchannelmixer	      format			 minterpolate		    showfreqs		       vignette
apad			   colorkey		      fps			 movie			    showinfo		       volume
aperms			   colorlevels		      framepack			 negate			    showpalette		       volumedetect
aphasemeter		   colorspace		      framerate			 nlmeans		    showspectrum	       vstack
aphaser			   compand		      framestep			 noformat		    showspectrumpic	       w3fdif
apulsator		   compensationdelay	      gblur			 noise			    showvolume		       waveform
arealtime		   concat		      gradfun			 null			    showwaves		       weave
aresample		   convolution		      haldclut			 nullsink		    showwavespic	       xbr
areverse		   copy			      haldclutsrc		 nullsrc		    shuffleframes	       yadif
aselect			   crop			      hdcd			 overlay		    shuffleplanes	       yuvtestsrc
asendcmd		   crystalizer		      hflip			 pad			    sidechaincompress	       zoompan
asetnsamples

Enabled bsfs:
aac_adtstoasc		   dump_extradata	      hevc_mp4toannexb		 mjpega_dump_header	    mpeg4_unpack_bframes       text2movsub
chomp			   extract_extradata	      imx_dump_header		 mov2textsub		    noise		       vp9_superframe
dca_core		   h264_mp4toannexb	      mjpeg2jpeg		 mp3_header_decompress	    remove_extradata

Enabled indevs:
dv1394			   fbdev		      lavfi			 oss			    v4l2		       xcbgrab

Enabled outdevs:
fbdev			   oss			      v4l2

License: LGPL version 2.1 or later
Creating configuration files ...
brion@lightyear:~/Downloads/makemkv/ffmpeg-3.3$ make install
HOSTCC	doc/print_options.o
...

Code: Select all

...
INSTALL	libavutil/ffversion.h
INSTALL	libavutil/libavutil.pc
brion@lightyear:~/Downloads/makemkv/ffmpeg-3.3$ cd ../makemkv-oss-1.10.5/
brion@lightyear:~/Downloads/makemkv/makemkv-oss-1.10.5$ PKG_CONFIG_PATH=/tmp/ffmpeg/lib/pkgconfig ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for gcc... gcc
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 accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... gawk
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -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 for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for -objcopy... no
checking for objcopy... objcopy
checking for -ld... /usr/bin/ld -m elf_x86_64
checking for a BSD-compatible install... /usr/bin/install -c
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for compress2 in -lz... yes
checking openssl/opensslconf.h usability... yes
checking openssl/opensslconf.h presence... yes
checking for openssl/opensslconf.h... yes
checking for AES_encrypt in -lcrypto... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ffmpeg... yes
checking whether LIBAVCODEC_VERSION_MAJOR is declared... yes
checking LIBAVCODEC_VERSION_MAJOR... 57
checking for AVFrame.nb_samples... yes
checking whether AV_SAMPLE_FMT_U8P is declared... yes
checking for avcodec_encode_audio2... no
configure: error: The libavcodec library is too old. Please get a recent one from http://www.ffmpeg.org
brion@lightyear:~/Downloads/makemkv/makemkv-oss-1.10.5$ 
avcodec_encode_audio2 is definitely in the code of ffmpeg 3.3

Re: Apparent libavcodec version detection bug

Posted: Wed May 10, 2017 11:06 am
by plittlefield
Same here. I am going to try the previous version of ffmpeg now.

Re: Apparent libavcodec version detection bug

Posted: Wed May 10, 2017 11:29 am
by plittlefield

Re: Apparent libavcodec version detection bug

Posted: Tue Jun 13, 2017 9:27 am
by plittlefield
A month later and still a problem with ffmpeg-3.3.2

Has anyone got a fix for this yet?

Re: Apparent libavcodec version detection bug

Posted: Thu Dec 28, 2017 4:18 am
by snurre
And now, several months later, I decide to upgrade to 1.10.8, not knowing that this will be impossible. Of course ignorant of this issue.

I get the same libavcodec version too old detection fault, or LIBAVCODEC_MAJOR_VERSION wrong.

I have tried several rebuilds of several ffmpeg versions: 3.4.1, 3.3.3, 2.7.4 (?, not sure, it was the one that worked before).

I have tried to roll back to makemkv 1.9.9 - this one worked before. Now this one fails with "application failed to initialize" when I try to start it.

This started because of an attempt to see if makemkv could encode atmos truehd from a file I have here into lpcm. I decided to use ffmpeg command line for this instead, it works fine.

But I need makemkv to be able to get bd disks ripped to the hd, and I need atmos truehd working for this. This does not work without compiling with ffmpeg.

An updated guide for compiling and installing makemkv, one that actually works, would be appreciated.

Re: Apparent libavcodec version detection bug

Posted: Sat Dec 30, 2017 5:34 pm
by snurre
snurre wrote:And now, several months later, I decide to upgrade to 1.10.8, not knowing that this will be impossible. Of course ignorant of this issue.

I get the same libavcodec version too old detection fault, or LIBAVCODEC_MAJOR_VERSION wrong.

I have tried several rebuilds of several ffmpeg versions: 3.4.1, 3.3.3, 2.7.4 (?, not sure, it was the one that worked before).

I have tried to roll back to makemkv 1.9.9 - this one worked before. Now this one fails with "application failed to initialize" when I try to start it.

This started because of an attempt to see if makemkv could encode atmos truehd from a file I have here into lpcm. I decided to use ffmpeg command line for this instead, it works fine.

But I need makemkv to be able to get bd disks ripped to the hd, and I need atmos truehd working for this. This does not work without compiling with ffmpeg.

An updated guide for compiling and installing makemkv, one that actually works, would be appreciated.
If someone is still reading:

Any idea how to roll back to version 1.9.9 using ffmpeg 2.7.2?

Seems the forum and the software is dead, very unfortunate, as this is the only way to legally watch bd movies in a proper way.

Re: Apparent libavcodec version detection bug

Posted: Sat Dec 30, 2017 7:33 pm
by ChrisK
Good News, everyone! I think I found the problem (more or less) and a solution!

The problem: The guide makes you compile a full ffmpeg with a lot of shit that we don't need at all. In this case some CUDA Hardware-Acceleration-Support (used for video-decoding) is somehow getting in the way.

The solution: Disable (almost) everything we don't need when configuring ffmpeg:

Code: Select all

./configure --prefix=/tmp/ffmpeg --enable-static --disable-shared --enable-pic --disable-yasm --disable-all --disable-autodetect --disable-everything --enable-swresample --enable-avcodec --enable-encoder=flac,aac --enable-decoders
This will only build the libraries and the encoders we need, no ffmpeg binaries or documentation. I wasn't really able to figure out which decoders makemkv needs, so I had to enable all of them, but --disable-autodetect still keeps unneeded stuff like CUDA disabled.

Re: Apparent libavcodec version detection bug

Posted: Mon Jan 01, 2018 11:17 pm
by snurre
Excellent, it works. Tried with makemkv 1.10.8 and ffmpeg 3.4.1.

Re: Apparent libavcodec version detection bug

Posted: Sat Jan 20, 2018 7:37 pm
by muddysteel
There is a linker dependency ordering issue at the root of this: When checking on the various bits required to compile the OSS portion of MKV, the library 'libavutil.a' is being injected too far down the link order.

Not sure what controls this as AUTOCONF is used. Trying to peel the onion. The offending (configuration test) sequence that fails to compile is:

Code: Select all

gcc -g -O2 -I/usr/local/ffmpeg/include conftest.c -L/usr/local/ffmpeg/lib -lavcodec -lXv -lX11 -lXext -lSDL2 -lass -lssl -lcrypto -lSDL2 -lvdpau -lX11 -lva -lva-x11 -lX11 -lva -lva-drm -lva -lxcb -lxcb-shm -lxcb -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lxcb-shape -lxcb -lsndio -lasound -lSDL2 -lssl -lcrypto -lx264 -lvpx -lm -lvpx -lm -lvpx -lm -lvpx -lm -lvorbisenc -lvorbis -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfreetype -lass -lm -ldl -llzma -lbz2 -lz -pthread -lswresample -lm -lavutil -lm -lrt -o conftest 
Altering this sequence to:

Code: Select all

gcc -g -O2 -I/usr/local/ffmpeg/include conftest.c -L/usr/local/ffmpeg/lib -lavcodec -lavutil -lXv -lX11 -lXext -lSDL2 -lass -lssl -lcrypto -lSDL2 -lvdpau -lX11 -lva -lva-x11 -lX11 -lva -lva-drm -lva -lxcb -lxcb-shm -lxcb -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lxcb-shape -lxcb -lsndio -lasound -lSDL2 -lssl -lcrypto -lx264 -lvpx -lm -lvpx -lm -lvpx -lm -lvpx -lm -lvorbisenc -lvorbis -ltheoraenc -ltheoradec -logg -lopus -lmp3lame -lfreetype -lass -lm -ldl -llzma -lbz2 -lz -pthread -lswresample -lm -lm -lrt -o conftest 
results in a successful pass on the configure step, however, it must then also be passed along to the OSS compilation phase.