www.makemkv.com

MakeMKV support forum
It is currently Mon Jul 23, 2018 6:12 am

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Sat May 12, 2018 12:20 pm 
Offline

Joined: Sat May 12, 2018 12:18 pm
Posts: 1
Had it building fine on Fedora 27 w/ GCC 7 but now I get this:

Code:
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


Thanks,
Richard


Top
 Profile  
Reply with quote  
PostPosted: Sun May 13, 2018 2:14 pm 
Offline

Joined: Sun May 13, 2018 2:02 pm
Posts: 1
The problem isn't GCC, it's that libavformat just updated and a variable name changed. Here's a diff:

Code:
*** makemkv-oss-1.12.2/libffabi/src/ffabi.c.ORIG   2018-04-27 20:53:47.000000000 -0500
--- makemkv-oss-1.12.2/libffabi/src/ffabi.c   2018-05-13 09:11:26.215809333 -0500
***************
*** 517,523 ****
          info->profile : FF_PROFILE_UNKNOWN;
 
      if ((CodecFlags&FFM_CODEC_FLAG_GLOBAL_HEADER)!=0)
!         ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
 
      if (argp) {
          for (i=0;argp[i];i+=2) {
--- 517,523 ----
          info->profile : FF_PROFILE_UNKNOWN;
 
      if ((CodecFlags&FFM_CODEC_FLAG_GLOBAL_HEADER)!=0)
!         ctx->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
 
      if (argp) {
          for (i=0;argp[i];i+=2) {
***************
*** 718,724 ****
      info->delay = (int32_t)ctx->avctx->delay;
      info->flags = 0;
 
!     if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
          info->flags |= FFM_CODEC_FLAG_GLOBAL_HEADER;
 
      return 0;
--- 718,724 ----
      info->delay = (int32_t)ctx->avctx->delay;
      info->flags = 0;
 
!     if ((ctx->avctx->flags&AV_CODEC_FLAG_GLOBAL_HEADER)!=0)
          info->flags |= FFM_CODEC_FLAG_GLOBAL_HEADER;
 
      return 0;

Apply that and it should compile okay.


Top
 Profile  
Reply with quote  
PostPosted: Mon May 14, 2018 1:48 am 
Offline

Joined: Mon Nov 03, 2014 7:28 pm
Posts: 9
The patch allows it to compile, but I get an error "Application failed to initialize" when I try and launch it.


Top
 Profile  
Reply with quote  
PostPosted: Tue May 15, 2018 4:28 am 
Offline

Joined: Mon Nov 03, 2014 7:28 pm
Posts: 9
I reinstalled Fedora 28 from scratch. That helped a lot. The series of upgrades left a bunch of cruft that made compiles not work correctly. (Like ldconfig database containing old information that no longer existed.)


Top
 Profile  
Reply with quote  
PostPosted: Sat May 19, 2018 3:32 am 
Offline

Joined: Sat May 19, 2018 3:21 am
Posts: 1
This looks to be due to an upgrade to ffmpeg 4.0, which versions it's libraries as .58. Fedora 27 was on ffmpeg 3.3, which is .57. Unfortunately there is only a compat library for ffmpeg 2.8, which is .56.*

Not sure there is a simple workaround here until a new makemkv-bin with makemkvconv linked against the new library is released or a compat-ffmpeg33 package is added to the repo. I may just build my own if I have to. :)

* I'm using the rpmfusion repo. Not sure if there are any alternate repos worth using these days.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 16, 2018 8:45 pm 
Offline

Joined: Sat Jun 16, 2018 8:40 pm
Posts: 1
The diff from chowbok worked for me on Debian Unstable.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 26, 2018 6:05 am 
Offline

Joined: Tue Jun 26, 2018 6:02 am
Posts: 1
chowbok wrote:
The problem isn't GCC, it's that libavformat just updated and a variable name changed. Here's a diff:

Code:
*** makemkv-oss-1.12.2/libffabi/src/ffabi.c.ORIG   2018-04-27 20:53:47.000000000 -0500
--- makemkv-oss-1.12.2/libffabi/src/ffabi.c   2018-05-13 09:11:26.215809333 -0500
***************
*** 517,523 ****
          info->profile : FF_PROFILE_UNKNOWN;
 
      if ((CodecFlags&FFM_CODEC_FLAG_GLOBAL_HEADER)!=0)
!         ctx->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
 
      if (argp) {
          for (i=0;argp[i];i+=2) {
--- 517,523 ----
          info->profile : FF_PROFILE_UNKNOWN;
 
      if ((CodecFlags&FFM_CODEC_FLAG_GLOBAL_HEADER)!=0)
!         ctx->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
 
      if (argp) {
          for (i=0;argp[i];i+=2) {
***************
*** 718,724 ****
      info->delay = (int32_t)ctx->avctx->delay;
      info->flags = 0;
 
!     if ((ctx->avctx->flags&CODEC_FLAG_GLOBAL_HEADER)!=0)
          info->flags |= FFM_CODEC_FLAG_GLOBAL_HEADER;
 
      return 0;
--- 718,724 ----
      info->delay = (int32_t)ctx->avctx->delay;
      info->flags = 0;
 
!     if ((ctx->avctx->flags&AV_CODEC_FLAG_GLOBAL_HEADER)!=0)
          info->flags |= FFM_CODEC_FLAG_GLOBAL_HEADER;
 
      return 0;

Apply that and it should compile okay.

This worked for me on Fedora 28, thanks.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group