Cannot compile on Centos7

The place to discuss linux version of MakeMKV
Post Reply
kb9mfd
Posts: 2
Joined: Mon Aug 01, 2016 2:35 am

Cannot compile on Centos7

Post by kb9mfd »

This is what I get when trying to compile on centos 7. I already recompiled ffmpeg from source and installed it so it shows the current version and I get the same result. Any idea?


Code: Select all

gcc -g -O2 -D_linux_ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -Ilibebml/inc -DEBML_NO_READ -DEBML_STRICT_API -DEBML_DEBUG -Ilibmatroska/inc \
-Ilibmakemkv/inc -Isstring/inc -Imakemkvgui/inc -Ilibabi/inc -Ilibffabi/inc -DDCA_LOG -DDCA_FFMALLOC \
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 libffabi/src/dcadec/bitstream.cpp libffabi/src/dcadec/core_decoder.cpp libffabi/src/dcadec/dca_context.cpp libffabi/src/dcadec/dmix_tables.cpp libffabi/src/dcadec/exss_parser.cpp libffabi/src/dcadec/idct_fixed.cpp libffabi/src/dcadec/interpolator.cpp libffabi/src/dcadec/interpolator_fixed.cpp libffabi/src/dcadec/interpolator_float.cpp libffabi/src/dcadec/ta.cpp libffabi/src/dcadec/xll_decoder.cpp libffabi/src/dcadec/idct_float.cpp  \
-DHAVE_BUILDINFO_H -Itmp -I/usr/include/ffmpeg   \
-fPIC -Xlinker -dy -Xlinker --version-script=libmakemkv/src/libmakemkv.vers \
-Xlinker -soname=libmakemkv.so.1 -lc -lstdc++ -lcrypto -lz -lexpat -lavcodec -lavutil   -lm -lrt
libmakemkv/src/libmkv.cpp: In member function ‘void MyMkvTrackInfo::RenderStat(libmatroska::KaxTags&, unsigned int, uint64_t, const char*)’:
libmakemkv/src/libmkv.cpp:384:53: error: expected ‘)’ before ‘PRIu64’
                 sprintf_s(buffer,sizeof(buffer),"%" PRIu64,values[i]);
                                                     ^
libmakemkv/src/libmkv.cpp:392:49: error: expected ‘)’ before ‘PRIu64’
             sprintf_s(buffer,sizeof(buffer),"%" PRIu64,stat_bytes);
                                                 ^
libffabi/src/ffabi.c: In function ‘ffm_audio_decode_put_data’:
libffabi/src/ffabi.c:242:5: warning: ‘avcodec_decode_audio4’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4704) [-Wdeprecated-declarations]
     r = avcodec_decode_audio4(ctx->avctx,ctx->frame,&ctx->have_frame,&avpkt);
     ^
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_close’:
libffabi/src/ffabi.c:377:5: warning: ‘av_free_packet’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4414) [-Wdeprecated-declarations]
     av_free_packet(&ctx->pck);
     ^
libffabi/src/ffabi.c: In function ‘ffm_audio_encode_put_frame’:
libffabi/src/ffabi.c:398:5: warning: ‘av_free_packet’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4414) [-Wdeprecated-declarations]
     av_free_packet(&ctx->pck);
     ^
libffabi/src/ffabi.c:434:5: warning: ‘avcodec_encode_audio2’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:5222) [-Wdeprecated-declarations]
     return avcodec_encode_audio2(ctx->avctx,&ctx->pck,frame,&ctx->have_packet);
     ^
make: *** [out/libmakemkv.so.1.full] Error 1
kb9mfd
Posts: 2
Joined: Mon Aug 01, 2016 2:35 am

Re: Cannot compile on Centos7

Post by kb9mfd »

[quote=

Code: Select all

libmakemkv/src/libmkv.cpp:384:53: error: expected ‘)’ before ‘PRIu64’
                 sprintf_s(buffer,sizeof(buffer),"%" PRIu64,values[i]);
                                                     ^
libmakemkv/src/libmkv.cpp:392:49: error: expected ‘)’ before ‘PRIu64’
             sprintf_s(buffer,sizeof(buffer),"%" PRIu64,stat_bytes);
    
[/quote]


Ok, I did fix it, after a little digging I changed those lines in that file to be :

Code: Select all

sprintf_s(buffer,sizeof(buffer),"%PRIu64" ,values[i]);

sprintf_s(buffer,sizeof(buffer),"%PRIu64" ,stat_bytes);
and it worked. Someone fat fingered the " in the wrong place.
Post Reply