compile issue

The place to discuss linux version of MakeMKV
Post Reply
Message
Author
jbond56
Posts: 4
Joined: Fri Jan 28, 2011 4:53 pm

compile issue

#1 Post by jbond56 » Wed Jul 11, 2018 3:44 pm

ibabi/src/sys_linux.c: In function ‘SYS_readdir’:
libabi/src/sys_linux.c:80:5: warning: ‘readdir64_r’ is deprecated [-Wdeprecated-declarations]
err = readdir64_r(dirp,&data.ent,&pent);
^~~
In file included from libabi/src/sys_linux.c:25:
/usr/include/dirent.h:201:12: note: declared here
extern int readdir64_r (DIR *__restrict __dirp,
^~~~~~~~~~~
libffabi/src/ffabi.c: In function ‘ffm_init’:
libffabi/src/ffabi.c:152:5: warning: ‘avcodec_register_all’ is deprecated [-Wdeprecated-declarations]
avcodec_register_all();
^~~~~~~~~~~~~~~~~~~~
In file included from libffabi/src/ffabi.c:22:
/usr/include/ffmpeg/libavcodec/avcodec.h:4086:6: note: declared here
void avcodec_register_all(void);
^~~~~~~~~~~~~~~~~~~~
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)
^~~~~~~~~~~~~~~~~~~~~~~~
AV_CODEC_FLAG_GLOBAL_HEADER
make: *** [Makefile:75: out/libmakemkv.so.1.full] Error 1

[root@neo makemkv-bin-1.12.2]# more /etc/redhat-release
Fedora release 28 (Twenty Eight)
[root@neo makemkv-bin-1.12.2]# rpm -qa |grep ffmpeg
ffmpeg-devel-4.0-1.fc28.x86_64
ffmpeg-4.0-1.fc28.x86_64
compat-ffmpeg28-2.8.14-2.fc28.x86_64
ffmpeg-libs-4.0-1.fc28.x86_64

Let me know what info you need or what i should try.

JohnAStebbins
Posts: 3
Joined: Wed Jun 20, 2018 9:52 pm

Re: compile issue

#2 Post by JohnAStebbins » Thu Jul 12, 2018 5:23 pm

Your version of ffmpeg is too new. Current MakeMKV requires ffmpeg v3.x. ffmpeg 4 can be made to work with the attached patch. But I can't guarantee that there are not other less obvious incompatibilities. I've not done much testing.
Attachments
codec-flag.txt
ffmpeg CODEC_FLAG_GLOBAL_HEADER patch
(830 Bytes) Downloaded 678 times

jbond56
Posts: 4
Joined: Fri Jan 28, 2011 4:53 pm

Re: compile issue

#3 Post by jbond56 » Fri Jul 13, 2018 9:44 pm

yeah I made those changes to get it to compile but still get these

/usr/bin/makemkvcon: /lib64/libavutil.so.55: version `LIBAVUTIL_55' not found (required by /lib/libmakemkv.so.1)
/usr/bin/makemkvcon: /lib64/libavcodec.so.57: version `LIBAVCODEC_57' not found (required by /lib/libmakemkv.so.1)

I tried linking to new versions but no go.

I guess Ill just wait till everyone catches up.

Protheus
Posts: 3
Joined: Tue Jul 17, 2018 4:08 am

Re: compile issue

#4 Post by Protheus » Tue Jul 17, 2018 4:19 am

I cannot compile, too. I am using Siduction - which is "bleeding edge" based on Debian experimental (!!) Too old?? I think if you want to have success with MakeMKV running on Linux there are three ways
1) reduce your dependencies to the level where most distris can follow
2) publish binaries where all dependencies / libs are included
3) Support more informations in case of a compile error pops up - you are sitting at the development machines and can fastly take a look what is missing

Do you have more informations which lib is "outdated"?

Best regards
Protheus

Protheus
Posts: 3
Joined: Tue Jul 17, 2018 4:08 am

Re: compile issue

#5 Post by Protheus » Tue Jul 17, 2018 5:07 am

Additional try successfl. I have run configure amd make on an older machine (which has ffmpeg 3.x - Debian9). Both finished successfully. Then I copied the folder tio the machine with ffmpeg4 and tried "sudo make install" - of course successful, too becausethere are only copy processes. Interesting: makemky is running on this machine flawlessly as I could test in a few minutes - in spite of there is ffmpeg4...

Best regards
Protheus

Post Reply