Opened 7 months ago

Closed 7 months ago

#11615 closed defect (fixed)

Wiki "CompilationGuide/Ubuntu" possible error

Reported by: ezgoen Owned by:
Priority: normal Component: documentation
Version: unspecified Keywords: libvmaf
Cc: ezgoen, MasterQuestionable Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by ezgoen)

In the section regarding libvmaf in https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#

compiling with the result of the steps described:

wget https://github.com/Netflix/vmaf/archive/v3.0.0.tar.gz && \
tar xvf v3.0.0.tar.gz && \ ...
At the time of writing there are no .git folders in this archive.

This generates a git error in the line within vmaf-3.0.0/libvmaf/build/build.ninja
I note that the following line produces a fatal error
--git-dir .../ffmpeg/sources/vmaf-3.0.0/libvmaf/../.git describe --tags --long --match '?.*.*' --always

This is a git error NOT a compile error but results in a meson argument with a bogus component which may result in a failure to build

I have rewritten the example with seemingly reliable results as :

cd ~/ffmpeg_sources && \
git clone https://github.com/Netflix/vmaf.git vmaf-3.0.0 && \
mkdir -p vmaf-3.0.0/libvmaf/build && \
cd vmaf-3.0.0/libvmaf/build && \
meson setup -Denable_tests=false -Denable_docs=false --buildtype=release --default-library=static .. --prefix "$HOME/ffmpeg_build" --bindir="$HOME/bin" --libdir="$HOME/ffmpeg_build/lib" && \
ninja && \
ninja install

The only caveat may be that
git clone https://github.com/Netflix/vmaf.git
may always retrieve the latest release which means the version may end up mismatching with the code examples

To this end I modified the above :

REPO="Netflix/vmaf"
LIBVMAF_LATEST_RELEASE=$(curl -s "https://api.github.com/repos/${REPO}/releases/latest" | grep -oP '"tag_name": "\K.*?(?=")')
echo "latest release $LIBVMAF_LATEST_RELEASE"
LIBVMAF_LATEST_RELEASE=$(echo $LIBVMAF_LATEST_RELEASE | cut -d: -f2 | cut -dv -f2)
LIBVDIR="vmaf-${LIBVMAF_LATEST_RELEASE}"


cd ~/ffmpeg_sources && \
git clone https://github.com/Netflix/vmaf.git ${LIBVDIR} && \
mkdir -p "${LIBVDIR}/libvmaf/build" && \
cd "${LIBVDIR}/libvmaf/build" && \
meson setup -Denable_tests=false -Denable_docs=false --buildtype=release --default-library=static .. --prefix "$HOME/ffmpeg_build" --bindir="$HOME/bin" --libdir="$HOME/ffmpeg_build/lib" && \
ninja && \
ninja install

In case this helps someone

Change History (2)

comment:1 by ezgoen, 7 months ago

Description: modified (diff)

comment:2 by MasterQuestionable, 7 months ago

Cc: MasterQuestionable added
Component: websitedocumentation
Resolution: fixed
Status: newclosed
Summary: Web site Documentation - possibe error in https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#Wiki "CompilationGuide/Ubuntu" possible error
Note: See TracTickets for help on using tickets.