Could not compile 1.12.2 on Ubuntu

The place to discuss linux version of MakeMKV
Post Reply
andreblanchet
Posts: 4
Joined: Sun Nov 12, 2017 1:40 am

Could not compile 1.12.2 on Ubuntu

Post by andreblanchet »

I'm using Ubuntu 16.04 LTS. I have my makemkv license but I had to re-install it because I changed computer. In makemkv-oss-1.12.2, I ran ./configure alone, then with the following CFLAGS:

CFLAGS='-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS' ./configure

but the make command gives the same errors. Below is the output of the said make command. Please provide a workaround. Thanks.


mkdir -p out
gcc -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D_linux_ -D_GNU_SOURCE -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -I./libebml/inc -DEBML_NO_READ -DEBML_STRICT_API -DEBML_DEBUG \
-I./libmatroska/inc -I./libmakemkv/inc -I./sstring/inc -I./makemkvgui/inc -I./libabi/inc \
-I./libffabi/inc libebml/src/EbmlBinary.cpp libebml/src/EbmlContexts.cpp libebml/src/EbmlCrc32.cpp libebml/src/EbmlDate.cpp libebml/src/EbmlDummy.cpp libebml/src/EbmlElement.cpp libebml/src/EbmlFloat.cpp libebml/src/EbmlHead.cpp libebml/src/EbmlMaster.cpp libebml/src/EbmlSInteger.cpp libebml/src/EbmlString.cpp libebml/src/EbmlSubHead.cpp libebml/src/EbmlUInteger.cpp libebml/src/EbmlUnicodeString.cpp libebml/src/EbmlVersion.cpp libebml/src/EbmlVoid.cpp libebml/src/IOCallback.cpp libebml/src/MemIOCallback.cpp libmatroska/src/FileKax.cpp libmatroska/src/KaxAttached.cpp libmatroska/src/KaxAttachments.cpp libmatroska/src/KaxBlock.cpp libmatroska/src/KaxBlockData.cpp libmatroska/src/KaxCluster.cpp libmatroska/src/KaxContexts.cpp libmatroska/src/KaxCues.cpp libmatroska/src/KaxCuesData.cpp libmatroska/src/KaxInfoData.cpp libmatroska/src/KaxSeekHead.cpp libmatroska/src/KaxSegment.cpp libmatroska/src/KaxTracks.cpp libmatroska/src/KaxVersion.cpp libmatroska/src/KaxSemantic.cpp libmakemkv/src/ebmlwrite.cpp libmakemkv/src/libmkv.cpp libmakemkv/src/version.cpp libmakemkv/src/world.cpp libmakemkv/src/stdstring.cpp sstring/src/sstring.cpp \
libabi/src/ossl_aes.c libabi/src/ossl_sha.c libabi/src/ossl_ec.c libabi/src/zlib.c libabi/src/xpat.c libabi/src/libm.c libabi/src/httplinux.cpp makemkvgui/src/api_linux.cpp libabi/src/sys_linux.c makemkvgui/src/spawn_posix.cpp libffabi/src/ffabi.c libffabi/src/mlp.c libffabi/src/log.c libffabi/src/audio_convert.c libffabi/src/audio_mix.c libffabi/src/audio_mix_matrix.c \
-DHAVE_BUILDINFO_H -Itmp -I/usr/local/include \
-fPIC -Xlinker -dy -Xlinker --version-script=libmakemkv/src/libmakemkv.vers \
-Xlinker -soname=libmakemkv.so.1 -lc -lstdc++ -lcrypto -lz -lexpat -L/usr/local/lib -lavcodec -pthread -lm -llzma -lz -lmp3lame -lm -lswresample -lm -lavutil -pthread -lm -lrt -lm -lrt
libffabi/src/ffabi.c: In function ‘ffabi_register_all’:
libffabi/src/ffabi.c:87:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:89:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_eac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:92:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_latm_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:95:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_fixed_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:98:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_dca_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:101:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mlp_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:104:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_truehd_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:107:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp1_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:110:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp2_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:113:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:116:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:120:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:123:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_fixed_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:126:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:132:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:135:5: warning: ‘av_register_codec_parser’ is deprecated [-Wdeprecated-declarations]
av_register_codec_parser(&ff_mlp_parser);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:5229:6: note: declared here
void av_register_codec_parser(AVCodecParser *parser);
^
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_init’:
libffabi/src/ffabi.c:520:30: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
libffabi/src/ffabi.c:520:30: note: each undeclared identifier is reported only once for each function it appears in
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_get_info’:
libffabi/src/ffabi.c:721:28: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
^
Makefile:74: recipe for target 'out/libmakemkv.so.1.full' failed
make: *** [out/libmakemkv.so.1.full] Error 1
andre@LAPTOP-ANDRE:~/Downloads/makemkv-oss-1.12.2$ cd ..
andre@LAPTOP-ANDRE:~/Downloads$ cd makemkv-oss-1.12.2
andre@LAPTOP-ANDRE:~/Downloads/makemkv-oss-1.12.2$ make > make_errors.txt
libffabi/src/ffabi.c: In function ‘ffabi_register_all’:
libffabi/src/ffabi.c:87:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:89:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_eac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:92:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_latm_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:95:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_fixed_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:98:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_dca_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:101:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mlp_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:104:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_truehd_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:107:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp1_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:110:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp2_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:113:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:116:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:120:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:123:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_fixed_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:126:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:132:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:135:5: warning: ‘av_register_codec_parser’ is deprecated [-Wdeprecated-declarations]
av_register_codec_parser(&ff_mlp_parser);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:5229:6: note: declared here
void av_register_codec_parser(AVCodecParser *parser);
^
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_init’:
libffabi/src/ffabi.c:520:30: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
libffabi/src/ffabi.c:520:30: note: each undeclared identifier is reported only once for each function it appears in
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_get_info’:
libffabi/src/ffabi.c:721:28: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
^
make: *** [out/libmakemkv.so.1.full] Error 1
andre@LAPTOP-ANDRE:~/Downloads/makemkv-oss-1.12.2$ CFLAGS='-D __STDC_CONSTANT_^C
andre@LAPTOP-ANDRE:~/Downloads/makemkv-oss-1.12.2$ make
mkdir -p out
gcc -D __STDC_CONSTANT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_FORMAT_MACROS -D_linux_ -D_GNU_SOURCE -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -I./libebml/inc -DEBML_NO_READ -DEBML_STRICT_API -DEBML_DEBUG \
-I./libmatroska/inc -I./libmakemkv/inc -I./sstring/inc -I./makemkvgui/inc -I./libabi/inc \
-I./libffabi/inc libebml/src/EbmlBinary.cpp libebml/src/EbmlContexts.cpp libebml/src/EbmlCrc32.cpp libebml/src/EbmlDate.cpp libebml/src/EbmlDummy.cpp libebml/src/EbmlElement.cpp libebml/src/EbmlFloat.cpp libebml/src/EbmlHead.cpp libebml/src/EbmlMaster.cpp libebml/src/EbmlSInteger.cpp libebml/src/EbmlString.cpp libebml/src/EbmlSubHead.cpp libebml/src/EbmlUInteger.cpp libebml/src/EbmlUnicodeString.cpp libebml/src/EbmlVersion.cpp libebml/src/EbmlVoid.cpp libebml/src/IOCallback.cpp libebml/src/MemIOCallback.cpp libmatroska/src/FileKax.cpp libmatroska/src/KaxAttached.cpp libmatroska/src/KaxAttachments.cpp libmatroska/src/KaxBlock.cpp libmatroska/src/KaxBlockData.cpp libmatroska/src/KaxCluster.cpp libmatroska/src/KaxContexts.cpp libmatroska/src/KaxCues.cpp libmatroska/src/KaxCuesData.cpp libmatroska/src/KaxInfoData.cpp libmatroska/src/KaxSeekHead.cpp libmatroska/src/KaxSegment.cpp libmatroska/src/KaxTracks.cpp libmatroska/src/KaxVersion.cpp libmatroska/src/KaxSemantic.cpp libmakemkv/src/ebmlwrite.cpp libmakemkv/src/libmkv.cpp libmakemkv/src/version.cpp libmakemkv/src/world.cpp libmakemkv/src/stdstring.cpp sstring/src/sstring.cpp \
libabi/src/ossl_aes.c libabi/src/ossl_sha.c libabi/src/ossl_ec.c libabi/src/zlib.c libabi/src/xpat.c libabi/src/libm.c libabi/src/httplinux.cpp makemkvgui/src/api_linux.cpp libabi/src/sys_linux.c makemkvgui/src/spawn_posix.cpp libffabi/src/ffabi.c libffabi/src/mlp.c libffabi/src/log.c libffabi/src/audio_convert.c libffabi/src/audio_mix.c libffabi/src/audio_mix_matrix.c \
-DHAVE_BUILDINFO_H -Itmp -I/usr/local/include \
-fPIC -Xlinker -dy -Xlinker --version-script=libmakemkv/src/libmakemkv.vers \
-Xlinker -soname=libmakemkv.so.1 -lc -lstdc++ -lcrypto -lz -lexpat -L/usr/local/lib -lavcodec -pthread -lm -llzma -lz -lmp3lame -lm -lswresample -lm -lavutil -pthread -lm -lrt -lm -lrt
libffabi/src/ffabi.c: In function ‘ffabi_register_all’:
libffabi/src/ffabi.c:87:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:89:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_eac3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:92:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_latm_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:95:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_fixed_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:98:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_dca_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:101:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mlp_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:104:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_truehd_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:107:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp1_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:110:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp2_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:113:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_mp3_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:116:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_decoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:120:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:123:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_ac3_fixed_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:126:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_aac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:132:5: warning: ‘avcodec_register’ is deprecated [-Wdeprecated-declarations]
avcodec_register(&ff_flac_encoder);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:4073:6: note: declared here
void avcodec_register(AVCodec *codec);
^
libffabi/src/ffabi.c:135:5: warning: ‘av_register_codec_parser’ is deprecated [-Wdeprecated-declarations]
av_register_codec_parser(&ff_mlp_parser);
^
In file included from libffabi/src/ffabi.c:22:0:
/usr/local/include/libavcodec/avcodec.h:5229:6: note: declared here
void av_register_codec_parser(AVCodecParser *parser);
^
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_init’:
libffabi/src/ffabi.c:520:30: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
libffabi/src/ffabi.c:520:30: note: each undeclared identifier is reported only once for each function it appears in
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_get_info’:
libffabi/src/ffabi.c:721:28: error: ‘CODEC_FLAG_GLOBAL_HEADER’ undeclared (first use in this function)
if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
^
Makefile:74: recipe for target 'out/libmakemkv.so.1.full' failed
make: *** [out/libmakemkv.so.1.full] Error 1
Jpcari
Posts: 5
Joined: Mon Mar 12, 2018 8:17 am

Re: Could not compile 1.12.2 on Ubuntu

Post by Jpcari »

Version 1.12.2 can be compiled without any problem and runs OK on Ubuntu 14.04 and even Ubuntu 12.04.

Your CFLAGS are useless, simply forget them and strictly abide by the minimal recommendations for compiling under Linux.
It worked for me under Ubuntu 14.04.

Nevertheless, to compile under the deprecated Ubuntu 12.04, I had to introduce 3 modifications to the standard procedure :
1- ./configure CFLAGS='-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS' (not sure this is absolutely necessary, but it mutes many "warnings")
Then steps 2 and 3 before typing "make"
2- Replace the string "-std=c++11" with "-std=c++0x" in the generated makefile (for compatibility with the old version of the compiler)
3- In repertory limakemkv/src, in file libmkv.cpp, move the following 4 lines on top of the #include directives (otherwise, inttypes.h is ignored)
#ifndef __STDC_FORMAT_MACROS
#define __STDC_FORMAT_MACROS 1
#endif
#include <inttypes.h>

There is a hidden requirement to be able to run makemkv under Linux (and Windows ?) : you need a full Java installation, otherwise some blu ray disks cannot be decoded.
andreblanchet
Posts: 4
Joined: Sun Nov 12, 2017 1:40 am

Re: Could not compile 1.12.2 on Ubuntu

Post by andreblanchet »

As I said in my post, I'm using Ubuntu 16.04. None of your suggested patches have solved my issue. Neither did installing Java. To get rid of the error about CODEC_FLAG_GLOBAL_HEADER undefined, I added the following line in libffabi/src/ffabi.c:

#define CODEC_FLAG_GLOBAL_HEADER 0x00400000

But now I'm getting the error:

/usr/bin/ld: /usr/local/lib/libavcodec.a(aacdec.o): relocation R_X86_64_32 against 'ff_aac_kbd_long_1024' can not be used when making a shared object; recompile with -fPIC

Which source file shall I recompile with -fPIC?
christian
Posts: 5
Joined: Wed Apr 04, 2018 10:55 am

Re: Could not compile 1.12.2 on Ubuntu

Post by christian »

Hello,

i have the problem when compiling makekmkv in a libreelec build tree as an addon i get the following errors:

Code: Select all

libffabi/src/ffabi.c: In function 'ffm_audio_encode_init':
libffabi/src/ffabi.c:520:30: error: 'CODEC_FLAG_GLOBAL_HEADER' undeclared (first use in this function); did you mean 'AV_CODEC_FLAG_GLOBAL_HEADER'?
         ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
                              ^~~~~~~~~~~~~~~~~~~~~~~~
                              AV_CODEC_FLAG_GLOBAL_HEADER
libffabi/src/ffabi.c:520:30: note: each undeclared identifier is reported only once for each function it appears in
libffabi/src/ffabi.c: In function 'ffm_audio_encode_get_info':
libffabi/src/ffabi.c:721:28: error: 'CODEC_FLAG_GLOBAL_HEADER' undeclared (first use in this function); did you mean 'AV_CODEC_FLAG_GLOBAL_HEADER'?
     if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
For ffmpeg i use the version 4.0. And i saw that in the libavcodec part, in the file avcodec.h

Code: Select all

COCEC_FLAG_GLOBAL_HEADER
is not defined. With ffmpeg version 3.4 everything is ok.

Is there any trick that makemkv looks for

Code: Select all

AV_CODEC_GLOBAL_HEADER
?
Jpcari
Posts: 5
Joined: Mon Mar 12, 2018 8:17 am

Re: Could not compile 1.12.2 on Ubuntu

Post by Jpcari »

andreblanchet wrote:As I said in my post, I'm using Ubuntu 16.04. None of your suggested patches have solved my issue. Neither did installing Java....
Well, I did not suggest any patch. I simply reported my experience with older versions of Ubuntu. I have no experience with 16.04, I wait for 18.04.

The source files of MakeMKV do compile under Ubuntu 14.04 without any patch, strctly sticking to the MINIMAL recommendations for compiling the sources, as documented elsewhere on this forum.
In other words, I simply decompressed the sources, and only used the commands ./configure, then make, then sudo make install when applicable on each decompressed source file.

I found no incentive to try a newer version of ffmpeg and complexify the process. I stick to the generic version of VLC with each Ubuntu dstrib.

Keep it simple stupid, it works !

If not, please search on the Net by typing your fatal error messages and you will find answers on other forums. Flooding this forum with long listings under an alarming title is not helpful.
andreblanchet
Posts: 4
Joined: Sun Nov 12, 2017 1:40 am

Re: Could not compile 1.12.2 on Ubuntu

Post by andreblanchet »

Yeah, I installed the latest ffmpeg. In theory, upgrading should mean improvement! It's sad that the makemkv developers do not test compiling the sources they distribute. By the way, I hate C++ like hell. Thanks anyway.
andreblanchet
Posts: 4
Joined: Sun Nov 12, 2017 1:40 am

Re: Could not compile 1.12.2 on Ubuntu

Post by andreblanchet »

I solved my issue by removing ffmpeg 4.0 and re-compiling it with --enable_shared. In fact, here's the command line I used for ffmpeg 4.0:

./configure --enable-libmp3lame --disable-x86asm --enable-pic --enable-shared

And for the benefit of those who want to install makemkv 1.12.2, don't forget to add the following line in libffabi/src/ffabi.c to avoid a compilation error:

#define CODEC_FLAG_GLOBAL_HEADER 0x00400000
lovenemesis
Posts: 5
Joined: Tue Dec 24, 2013 8:01 am

Re: Could not compile 1.12.2 on Ubuntu

Post by lovenemesis »

andreblanchet wrote:I solved my issue by removing ffmpeg 4.0 and re-compiling it with --enable_shared. In fact, here's the command line I used for ffmpeg 4.0:

./configure --enable-libmp3lame --disable-x86asm --enable-pic --enable-shared

And for the benefit of those who want to install makemkv 1.12.2, don't forget to add the following line in libffabi/src/ffabi.c to avoid a compilation error:

#define CODEC_FLAG_GLOBAL_HEADER 0x00400000
Thank you! I met similar issue on Fedora 28. With your advise it compiled well now.
Post Reply