Page 1 of 1

Also Problems with 1.8.6 Compilation

Posted: Fri Nov 15, 2013 4:20 pm
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!

Re: Also Problems with 1.8.6 Compilation

Posted: Mon Nov 18, 2013 11:33 am
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

Re: Also Problems with 1.8.6 Compilation

Posted: Wed Nov 27, 2013 9:21 pm
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!

Re: Also Problems with 1.8.6 Compilation

Posted: Fri Nov 29, 2013 7:39 am
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 01, 2013 6:53 pm
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

Re: Also Problems with 1.8.6 Compilation

Posted: Mon Dec 02, 2013 11:15 am
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 08, 2013 1:14 am
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).

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 08, 2013 2:19 am
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 08, 2013 5:44 pm
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 08, 2013 8:16 pm
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

Re: Also Problems with 1.8.6 Compilation

Posted: Sun Dec 08, 2013 8:31 pm
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Wed Dec 11, 2013 12:29 pm
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.

Re: Also Problems with 1.8.6 Compilation

Posted: Fri Dec 13, 2013 6:05 am
by mike admin
rachel wrote:Still hangs on start.
Fixed in 1.8.7 , available for download.

Re: Also Problems with 1.8.6 Compilation

Posted: Fri Dec 13, 2013 9:22 am
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! :)