Page 1 of 1

Can't compile makemkv 1.10.5 oss

Posted: Fri Mar 31, 2017 3:33 am
by fulwood_jp
I tried to compile makemkv 1.10.5 oss as follows;

CFLAGS="-D__STDC_FORMAT_MACROS" ./configure && make

But I got an error;

[...]
libffabi/src/dcadec/interpolator_fixed.cpp: In function 'void interpolate_sub64_fixed(interpolator*, int*, int**, int**, int, bool)':
libffabi/src/dcadec/interpolator_fixed.cpp:162:36: error: 'INT64_C' was not declared in this scope
int64_t res = INT64_C(0);
^
libffabi/src/dcadec/interpolator_fixed.cpp:177:36: error: 'INT64_C' was not declared in this scope
int64_t res = INT64_C(0);
^
In file included from libffabi/src/dcadec/interpolator_float.cpp:22:0:
libffabi/src/dcadec/fixed_math.h: In function 'int64_t round__(int64_t, int)':
libffabi/src/dcadec/fixed_math.h:25:31: error: 'INT64_C' was not declared in this scope
return (a + (INT64_C(1) << (bits - 1))) & ~((INT64_C(1) << bits) - 1);
^
libffabi/src/dcadec/fixed_math.h: In function 'int32_t norm__(int64_t, int)':
libffabi/src/dcadec/fixed_math.h:33:41: error: 'INT64_C' was not declared in this scope
return (int32_t)((a + (INT64_C(1) << (bits - 1))) >> bits);
^
In file included from libffabi/src/dcadec/xll_decoder.cpp:21:0:
libffabi/src/dcadec/fixed_math.h: In function 'int64_t round__(int64_t, int)':
libffabi/src/dcadec/fixed_math.h:25:31: error: 'INT64_C' was not declared in this scope
return (a + (INT64_C(1) << (bits - 1))) & ~((INT64_C(1) << bits) - 1);
^
libffabi/src/dcadec/fixed_math.h: In function 'int32_t norm__(int64_t, int)':
libffabi/src/dcadec/fixed_math.h:33:41: error: 'INT64_C' was not declared in this scope
return (int32_t)((a + (INT64_C(1) << (bits - 1))) >> bits);
^
libffabi/src/dcadec/xll_decoder.cpp: In function 'void xll_filter_band_data(xll_chset*, int)':
libffabi/src/dcadec/xll_decoder.cpp:618:40: error: 'INT64_C' was not declared in this scope
int64_t err = INT64_C(0);
^
Makefile:74: recipe for target 'out/libmakemkv.so.1.full' failed
make: *** [out/libmakemkv.so.1.full] Error 1

Any Idea?

Thanks,

Re: Can't compile makemkv 1.10.5 oss

Posted: Sun Apr 02, 2017 7:39 am
by fulwood_jp
Solved!

What I did is updating of gcc (form 4.8.2 to 6.3.0), this solved the problem.

Thanks,

Re: Can't compile makemkv 1.10.5 oss

Posted: Tue Apr 18, 2017 10:35 am
by kvonnied
I had the same issue building makemkv 1.10.5 oss on CentOS 7
I have gcc version:

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

What I had to do is define three #defines while building the make file:
$> CFLAGS="-D__GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS" ./configure
$> make
$> sudo make install

And this seemed to build and install makemkv correctly.
Hope this helps someone else who is having issues with this. (And does not want to install a newer compiler)