Also Problems with 1.8.6 Compilation

The place to discuss linux version of MakeMKV
Post Reply
Chribu
Posts: 3
Joined: Fri Nov 15, 2013 4:10 pm

Also Problems with 1.8.6 Compilation

Post by Chribu »

Hello,

i have also tried to compile makemkv-oss/bin unsuccessfully.
Here you can see my results: http://pastebin.com/2KYfQngB

Therefore i have installed ffmpeg from deb-repo, but this doesn't solve the problem.

ffmpeg -version
FFmpeg version SVN-r0.5.10-4:0.5.10-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.10-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Feb 16 2013 09:22:58, gcc: 4.4.5
FFmpeg SVN-r0.5.10-4:0.5.10-1
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0


Can you can help me please?!
Thanks in advance!
belegdol
Posts: 26
Joined: Mon Mar 05, 2012 5:30 pm

Re: Also Problems with 1.8.6 Compilation

Post by belegdol »

Your ffmpeg is way too old. You need 2.0 to build without patches. 1.2 can be allegedly made to work, but this is yet to be confirmed
Chribu
Posts: 3
Joined: Fri Nov 15, 2013 4:10 pm

Re: Also Problems with 1.8.6 Compilation

Post by Chribu »

Hi,

thanks for your answer!
@Okay, i have compiled the newest ffmpeg and now i'm stuck with another error (with the new 1.8.6-oss-cfg1-Package):

Code: Select all

root@openmediavault:~/makemkv-oss-1.8.6# /usr/local/bin/ffmpeg -version
ffmpeg version 2.1.1
built on Nov 27 2013 22:05:21 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: 
libavutil      52. 48.101 / 52. 48.101
libavcodec     55. 39.101 / 55. 39.101
libavformat    55. 19.104 / 55. 19.104
libavdevice    55.  5.100 / 55.  5.100
libavfilter     3. 90.100 /  3. 90.100
libswscale      2.  5.101 /  2.  5.101
libswresample   0. 17.104 /  0. 17.104
root@openmediavault:~/makemkv-oss-1.8.6# make
mkdir -p out
gcc -g -O2 -D_GNU_SOURCE -D_linux_ -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -Ilibebml/inc -DEBML_NO_READ -DEBML_STRICT_API -Ilibmatroska/inc \
	-Ilibmakemkv/inc -Isstring/inc -Imakemkvgui/inc -Ilibabi/inc -Ilibffabi/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/KaxChapters.cpp libmatroska/src/KaxCluster.cpp libmatroska/src/KaxClusterData.cpp libmatroska/src/KaxContentEncoding.cpp libmatroska/src/KaxContexts.cpp libmatroska/src/KaxCues.cpp libmatroska/src/KaxCuesData.cpp libmatroska/src/KaxInfo.cpp libmatroska/src/KaxInfoData.cpp libmatroska/src/KaxSeekHead.cpp libmatroska/src/KaxSegment.cpp libmatroska/src/KaxTag.cpp libmatroska/src/KaxTags.cpp libmatroska/src/KaxTrackAudio.cpp libmatroska/src/KaxTrackEntryData.cpp libmatroska/src/KaxTracks.cpp libmatroska/src/KaxTrackVideo.cpp libmatroska/src/KaxVersion.cpp libmakemkv/src/ebmlwrite.cpp libmakemkv/src/libmkv.cpp libmakemkv/src/version.cpp libmakemkv/src/world.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/pssl/ec_key.c libabi/pssl/ec_lib.c libabi/pssl/ec_cvt.c libabi/pssl/ec_mult.c libabi/pssl/ecp_mont.c libabi/pssl/ecp_smpl.c libabi/pssl/ecs_ossl.c libabi/pssl/ecs_sign.c libabi/pssl/ecs_vrf.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 \
	-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 -pthread -L/usr/local/lib -lavcodec -ldl -lasound -lz -lrt -lavutil -lm   -lm
/usr/bin/ld: /usr/local/lib/libavcodec.a(allcodecs.o): relocation R_X86_64_32 against `ff_a64multi_encoder' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [out/libmakemkv.so.1.full] Fehler 1
root@openmediavault:~/makemkv-oss-1.8.6# 
But the libavcodec is newly compiled with the ffmpeg,too.
Do you have another trick for me?! :wink:

Thanks!
kripz
Posts: 2
Joined: Sat Nov 16, 2013 6:08 am

Re: Also Problems with 1.8.6 Compilation

Post by kripz »

Chribu wrote:Hi,

thanks for your answer!
@Okay, i have compiled the newest ffmpeg and now i'm stuck with another error (with the new 1.8.6-oss-cfg1-Package):

Code: Select all

root@openmediavault:~/makemkv-oss-1.8.6# /usr/local/bin/ffmpeg -version
ffmpeg version 2.1.1
built on Nov 27 2013 22:05:21 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: 
libavutil      52. 48.101 / 52. 48.101
libavcodec     55. 39.101 / 55. 39.101
libavformat    55. 19.104 / 55. 19.104
libavdevice    55.  5.100 / 55.  5.100
libavfilter     3. 90.100 /  3. 90.100
libswscale      2.  5.101 /  2.  5.101
libswresample   0. 17.104 /  0. 17.104
root@openmediavault:~/makemkv-oss-1.8.6# make
mkdir -p out
gcc -g -O2 -D_GNU_SOURCE -D_linux_ -D_REENTRANT -shared -Wl,-z,defs -oout/libmakemkv.so.1.full -Ilibebml/inc -DEBML_NO_READ -DEBML_STRICT_API -Ilibmatroska/inc \
	-Ilibmakemkv/inc -Isstring/inc -Imakemkvgui/inc -Ilibabi/inc -Ilibffabi/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/KaxChapters.cpp libmatroska/src/KaxCluster.cpp libmatroska/src/KaxClusterData.cpp libmatroska/src/KaxContentEncoding.cpp libmatroska/src/KaxContexts.cpp libmatroska/src/KaxCues.cpp libmatroska/src/KaxCuesData.cpp libmatroska/src/KaxInfo.cpp libmatroska/src/KaxInfoData.cpp libmatroska/src/KaxSeekHead.cpp libmatroska/src/KaxSegment.cpp libmatroska/src/KaxTag.cpp libmatroska/src/KaxTags.cpp libmatroska/src/KaxTrackAudio.cpp libmatroska/src/KaxTrackEntryData.cpp libmatroska/src/KaxTracks.cpp libmatroska/src/KaxTrackVideo.cpp libmatroska/src/KaxVersion.cpp libmakemkv/src/ebmlwrite.cpp libmakemkv/src/libmkv.cpp libmakemkv/src/version.cpp libmakemkv/src/world.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/pssl/ec_key.c libabi/pssl/ec_lib.c libabi/pssl/ec_cvt.c libabi/pssl/ec_mult.c libabi/pssl/ecp_mont.c libabi/pssl/ecp_smpl.c libabi/pssl/ecs_ossl.c libabi/pssl/ecs_sign.c libabi/pssl/ecs_vrf.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 \
	-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 -pthread -L/usr/local/lib -lavcodec -ldl -lasound -lz -lrt -lavutil -lm   -lm
/usr/bin/ld: /usr/local/lib/libavcodec.a(allcodecs.o): relocation R_X86_64_32 against `ff_a64multi_encoder' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [out/libmakemkv.so.1.full] Fehler 1
root@openmediavault:~/makemkv-oss-1.8.6# 
But the libavcodec is newly compiled with the ffmpeg,too.
Do you have another trick for me?! :wink:

Thanks!
I also have this problem. exact same error.
res0r9lm
Posts: 1
Joined: Sun Dec 01, 2013 6:06 pm

Re: Also Problems with 1.8.6 Compilation

Post by res0r9lm »

I had similar error but `ffh263_vaapi_hwaccel` after recompiling ffmpeg with --enable-pic I now get I different error.

Code: Select all

/usr/bin/ld: /usr/local/lib/libavcodec.a(mqc.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value

Code: Select all

ffmpeg version git-2013-09-18-ea70e2f Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  1 2013 12:31:16 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
  configuration: --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-vdpau --enable-opencl --enable-libopus --enable-pic --extra-cflags='-march=native -I/usr/local/include' --extra-ldflags=-L/usr/local/lib --extra-libs=-ldl
rachel
Posts: 19
Joined: Sun Jun 20, 2010 6:35 pm

Re: Also Problems with 1.8.6 Compilation

Post by rachel »

res0r9lm wrote:I had similar error but `ffh263_vaapi_hwaccel` after recompiling ffmpeg with --enable-pic I now get I different error.

Code: Select all

/usr/bin/ld: /usr/local/lib/libavcodec.a(mqc.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value

Code: Select all

ffmpeg version git-2013-09-18-ea70e2f Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  1 2013 12:31:16 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
  configuration: --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-vdpau --enable-opencl --enable-libopus --enable-pic --extra-cflags='-march=native -I/usr/local/include' --extra-ldflags=-L/usr/local/lib --extra-libs=-ldl
I'm getting the exact same thing too, on an up to date ubuntu 13.10 installation with libav and ffmpeg both installed.

So very broken... I'm just going to carry on using 1.8.5 until this is resolved...

Hint: Other strongly ffmpeg-dependent software, eg: handbrake, xbmc, download and link their own known-good ffmpeg (if you're building from source, and on that subject, maybe it's time for a .deb repository?). Yes, this makes the build process take longer. Yes, it works. After all, presumably the Windows/OSX builds have their own ffmpeg bundled? There's not actually a good reason for keeping it complicated on linux, at least for the most popular distros.
dwalme
Posts: 28
Joined: Sat Dec 10, 2011 2:38 am

Re: Also Problems with 1.8.6 Compilation

Post by dwalme »

I have the same problem.

I can get past the makemkv compile error by compiling ffmpeg with these flags:
./configure --disable-static --enable-shared --enable-nonfree --enable-gpl

However whenever I launch makemkv the dialog never shows on the screen. So something else isn't right.

I am doing this on Ubuntu 13.10. I had no issues when running on Arch (ffmpeg was already 2.1.1).
dwalme
Posts: 28
Joined: Sat Dec 10, 2011 2:38 am

Re: Also Problems with 1.8.6 Compilation

Post by dwalme »

I was able to get this to work on Ubuntu 13.10 (well Linux Mint 16).

I downloaded ffmpeg v2.1.1 from ffmpeg website: http://www.ffmpeg.org/releases/ffmpeg-2.1.1.tar.bz2.

Then I configured ffmpeg v2.1.1 with these options:

Code: Select all

./configure --enable-shared --disable-stripping --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-postproc --enable-x11grab --enable-libcdio --enable-vaapi --enable-vdpau --enable-bzlib --enable-gnutls --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libvo-aacenc --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfdk_aac --enable-libopus --enable-pthreads --enable-zlib --enable-libvpx --enable-libfreetype --enable-libpulse
I added each dependency from apt one at a time until I got them all.

Then:

Code: Select all

sudo make install
sudo make install-libs
Then I built the original makemkv 1.8.6 (not the published 'fix' from here: http://www.makemkv.com/forum2/viewtopic.php?f=3&t=7252) like the original instructions called for. So far everything is working perfectly (24-bit flac conversion!). This was a pain in the butt. I hope this helps others.
dwalme
Posts: 28
Joined: Sat Dec 10, 2011 2:38 am

Re: Also Problems with 1.8.6 Compilation

Post by dwalme »

I got this to work by changing the config options for ffmpeg when building from source. This works on Linux Mint 16 so I'm assuming it will be the same for all Ubuntu 13.10 derivatives.

I used the latest ffmpeg 2.1.1 source from their website.

Configure with these options:

Code: Select all

./configure --enable-shared --disable-stripping --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-postproc --enable-x11grab --enable-libcdio --enable-vaapi --enable-vdpau --enable-bzlib --enable-gnutls --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libvo-aacenc --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfdk_aac --enable-libopus --enable-pthreads --enable-zlib --enable-libvpx --enable-libfreetype --enable-libpulse
I added each dependency from apt one at at time.

Then I ran:

Code: Select all

make
sudo make install
sudo make install-libs
Then I used the original 1.8.6 oss package. Everything works perfectly including 24-bit flac conversion.
rachel
Posts: 19
Joined: Sun Jun 20, 2010 6:35 pm

Re: Also Problems with 1.8.6 Compilation

Post by rachel »

dwalme wrote:I got this to work by changing the config options for ffmpeg when building from source. This works on Linux Mint 16 so I'm assuming it will be the same for all Ubuntu 13.10 derivatives.

I used the latest ffmpeg 2.1.1 source from their website.

Configure with these options:

Code: Select all

./configure --enable-shared --disable-stripping --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-postproc --enable-x11grab --enable-libcdio --enable-vaapi --enable-vdpau --enable-bzlib --enable-gnutls --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libvo-aacenc --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfdk_aac --enable-libopus --enable-pthreads --enable-zlib --enable-libvpx --enable-libfreetype --enable-libpulse
I added each dependency from apt one at at time.

Then I ran:

Code: Select all

make
sudo make install
sudo make install-libs
Then I used the original 1.8.6 oss package. Everything works perfectly including 24-bit flac conversion.
Didn't work for me.

got ffmpeg 2.1.1 installed OK. Building the 1.8.6-cfg tarball worked, but when I tried to run makemkv, it just hung, with makemkvcon taking up 100% cpu.

Code: Select all

rachel@twilight:~$ ldd $(which makemkvcon) | grep libav
	libavcodec.so.55 => /usr/local/lib/libavcodec.so.55 (0x00007f2332c3c000)
	libavutil.so.52 => /usr/local/lib/libavutil.so.52 (0x00007f23329eb000)
So trying the *normal* 1.8.6 oss package... and it fails to build, with various undefined references to av_ methods, so I guess that one isn't finding it; maybe assuming it'll be in /usr not /usr/local
rachel
Posts: 19
Joined: Sun Jun 20, 2010 6:35 pm

Re: Also Problems with 1.8.6 Compilation

Post by rachel »

Guys, hate having to go there, but... I am a paying customer, and now it's broken, for the sake of a feature I don't even want.

This needs a fix.

Make debs that work. Statically link ffmpeg.
rachel
Posts: 19
Joined: Sun Jun 20, 2010 6:35 pm

Re: Also Problems with 1.8.6 Compilation

Post by rachel »

FWIW added --enable-pic to those flags as per thread http://www.makemkv.com/forum2/viewtopic.php?f=3&t=7225 but it didn't make any difference. Still hangs on start.

Re-downloaded, rebuilt 1.8.5. it works.
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: Also Problems with 1.8.6 Compilation

Post by mike admin »

rachel wrote:Still hangs on start.
Fixed in 1.8.7 , available for download.
rachel
Posts: 19
Joined: Sun Jun 20, 2010 6:35 pm

Re: Also Problems with 1.8.6 Compilation

Post by rachel »

mike admin wrote:
rachel wrote:Still hangs on start.
Fixed in 1.8.7 , available for download.
Confirmed for me. :) That is, fixed dynamically linking to the new ffmpeg built as described above and installed in /usr/local, so never got around to trying the statically-linked method described in the announcement post, though I'd guess that'll work too.

Not actually using the FLAC functionality it links to ffmpeg *for*, so can't speak to whether that works, but at least it no longer prevents the core functionality from working.

Yay, fixed in time for christmas! :)
Post Reply