Code: Select all
/usr/bin/ld: /home/kibner/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib/libfdk-aac.a(genericStds.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
/usr/bin/ld: /home/kibner/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib/libfdk-aac.a(genericStds.o): relocation R_X86_64_PC32 against symbol `stdout@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:89: out/libmakemkv.so.1.full] Error 1
I have installed the following libraries via apt-get using the information from viewtopic.php?f=3&t=224&sid=ba1814d36dd ... 890a380162 and https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
- build-essential
- pkg-config
- libc6-dev
- libssl-dev
- libexpat1-dev
- libavcodec-dev
- libgl1-mesa-dev
- qtbase5-dev
- zlib1g-dev
- autoconf
- automake
- cmake
- git-core
- libass-dev
- libfreetype6-dev
- libgnutls28-dev
- libmp3lame-dev
- libsdl2-dev
- libtool
- libva-dev
- libvdpau-dev
- libvorbis-dev
- libxcb1-dev
- libxcb-shm0-dev
- libxcb-xfixes0-dev
- meson
- ninja-build
- texinfo
- wget
- yasm
- libunistring-dev
- libaom-dev
- libdav1d-dev
Code: Select all
cd ~/Applications/MakeMKV && \
wget -O makemkv-oss.tar.gz https://www.makemkv.com/download/makemkv-oss-1.18.2.tar.gz && \
tar xzvf makemkv-oss.tar.gz --strip-components 1 -C ~/Applications/MakeMKV/makemkv-oss && \
cd ~/Applications/MakeMKV/makemkv-oss && \
PKG_CONFIG_PATH=$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib/pkgconfig ./configure && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
FFmpeg scripts here:
Code: Select all
# NASM
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.bz2 && \
tar xjvf nasm-2.16.03.tar.bz2 && \
cd nasm-2.16.03 && \
./autogen.sh && \
./configure --prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --bindir="$HOME/Applications/MakeMKV/FFmpeg/bin" && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libx264
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C x264 pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
cd x264 && \
PKG_CONFIG_PATH="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --bindir="$HOME/Applications/MakeMKV/FFmpeg/bin" --enable-static --enable-pic && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libx265
sudo apt-get install libnuma-dev && \
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
wget -O x265.tar.bz2 https://bitbucket.org/multicoreware/x265_git/get/master.tar.bz2 && \
tar xjvf x265.tar.bz2 && \
cd multicoreware*/build/linux && \
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" -DENABLE_SHARED=off ../../source && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libvpx
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
cd libvpx && \
./configure --prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libfdk-aac
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
cd fdk-aac && \
autoreconf -fiv && \
./configure --prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --disable-shared && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libopus
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
cd opus && \
./autogen.sh && \
./configure --prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --disable-shared && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libaom
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \
mkdir -p aom_build && \
cd aom_build && \
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" -DENABLE_TESTS=OFF -DENABLE_NASM=on ../aom && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libsvtav1
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C SVT-AV1 pull 2> /dev/null || git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git && \
mkdir -p SVT-AV1/build && \
cd SVT-AV1/build && \
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" -DCMAKE_BUILD_TYPE=Release -DBUILD_DEC=OFF -DBUILD_SHARED_LIBS=OFF .. && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1))
# libdav1d
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C dav1d pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/dav1d.git && \
mkdir -p dav1d/build && \
cd dav1d/build && \
meson setup -Denable_tools=false -Denable_tests=false --default-library=static .. --prefix "$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --libdir="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib" && \
ninja -j $(($(nproc) - 1)) && \
sudo ninja install -j $(($(nproc) - 1))
# libvmaf
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
git -C vmaf pull 2> /dev/null || git clone --depth 1 https://github.com/Netflix/vmaf.git &&
mkdir -p 'vmaf/libvmaf/build' &&
cd 'vmaf/libvmaf/build' &&
meson setup -Denable_tests=false -Denable_docs=false --buildtype=release --default-library=static '../' --prefix "$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" --bindir="$HOME/Applications/MakeMKV/FFmpeg/bin" --libdir="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib" &&
ninja -j $(($(nproc) - 1)) &&
sudo ninja install -j $(($(nproc) - 1))
# FFmpeg
cd ~/Applications/MakeMKV/FFmpeg/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PKG_CONFIG_PATH="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/Applications/MakeMKV/FFmpeg/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--ld="g++" \
--bindir="$HOME/Applications/MakeMKV/FFmpeg/bin" \
--enable-gpl \
--enable-gnutls \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libsvtav1 \
--enable-libdav1d \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree \
--enable-static \
--disable-shared \
--enable-pic && \
make -j $(($(nproc) - 1)) && \
sudo make install -j $(($(nproc) - 1)) && \
hash -r