Compiling VLC from Source on Fedora 29

# Enable RPM Fusion repos, assuming they exist in the initial
# fedora-29 setup. Which is the case for the Qubes OS fedora-29
# Template VM.
sudo dnf config-manager --set-enabled rpmfusion-free
sudo dnf config-manager --set-enabled rpmfusion-free-updates
sudo dnf config-manager --set-enabled rpmfusion-nonfree
sudo dnf config-manager --set-enabled rpmfusion-nonfree-updates
# Install VLC as a baseline for the upstream version.
sudo dnf install -y vlc
# Install VLC dev-dependencies. These are only needed for
# development because they're statically-linked to VLC
# (as opposed to dynamically-linked).
sudo dnf install -y git libtool pkgconfig flex bison lua-devel ffmpeg-devel schroedinger qt5-devel qt5-qtquickcontrols2-devel dbus-devel systemd-devel libarchive-devel libdc1394-devel libavc1394-devel zvbi-devel libbluray-devel opencv-devel libsmbclient-devel libssh2-devel libnfs-devel freerdp-devel libsidplayfp-devel libmpg123-devel gstreamer-devel libva-devel libaom-devel libdav1d-devel speexdsp-devel opus-devel libogg-devel x265-devel libmfx-devel fluidsynth-devel libkate-devel libxkbcommon-x11-devel xcb-util-keysyms-devel wayland-protocols-devel librsvg2-devel libvmmalloc-devel soxr-devel libchromaprint-devel protobuf-lite-devel libsrtp-devel libprojectM-devel libmtp-devel libmicrodns-devel libsecret-devel libnotify-devel medialibrary-devel
sudo dnf install -y a52dec a52dec-devel caca-utils expat expat-devel faac faac-devel faad2 faad2-devel ffmpeg ffmpeg-libs flac flac-devel fribidi-devel gettext gnutls gnutls-devel gnutls-utils lame lame-devel live555 live555-devel libass libass-devel libcaca libcaca-devel libcddb libcddb-devel libcdio libcdio-devel libdap libdap-devel libdca-devel libdvbpsi libdvbpsi-devel libdvdnav libdvdnav-devel libdvdread libebml libebml-devel freetype freetype-devel fribidi libgcrypt libgcrypt-devel libgpg-error libgpg-error-devel libjpeg-turbo libmad libmad-devel libmatroska libmatroska-devel libmodplug libmodplug-devel libmpcdec-devel libmpeg2-devel libogg-devel liboil-devel libpng libpng-devel libshout libshout-devel libtheora-devel libtiff libupnp libupnp-devel libvorbis-devel libX11 libX11-devel libxcb libxcb-devel libxml2 libxml2-devel mpeg2dec portaudio-devel qt4 qt4-devel schroedinger-devel SDL-devel SDL_image SDL_image-devel speex speex-devel taglib-devel twolame twolame-devel vcdimager vcdimager-devel vcdimager-libs x264 x264-devel yasm zlib lua xcb-util-devel libsamplerate-devel
# The latest revision was
# `c83a81794c3f974953356b97a8473a61872647dc` as
# of this writing and you can use it as a frame-of-reference
# or if you want things to be as close as possible to this post.
git clone git://git.videolan.org/vlc.git
# This is the first step to make sure everything is set-up
# and produce the `configure` executable.
./bootstrap
# To do even more checking and preparing for the compilation.
# The additional `--disable-*` flags are passed because some
# optional parts of VLC didn't seem to compile. And for
# obvious reasons if you look into the compilation
# errors and the offending code:sweat_smile:.
# This happened with me on the
# `c83a81794c3f974953356b97a8473a61872647dc` revision
# but may be fixed in the future.
./configure --disable-mpc --disable-medialibrary --disable-opencv
# This is it! The actual compilation step. Not really but
# the closest thing if such a thing exists. In case you haven't
# noticed already, the actual compilation is the easiest and
# all the set-up and preparation is the hardest part. Which can
# sometimes include compiling other stuff:sweat_smile:.
make

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store