Below is a list of instructions that describe how I compiled the development version of VLC. It’s based on the compiling cheat sheet listed here:
https://forum.videolan.org/viewtopic.ph ... 89#p475525
I originally followed these instructions and soon realized there were other things I needed to do in order to get this to build successfully. Some of those things are listed in the first section. The second section lists the original steps from the cheat sheet (for the most part) with some minor changes I needed to make to get this to build correctly. If you want to give this a shot, I suggest starting from the first section for some background info. Then follow the steps in the second section. The goal here is to list steps that will yield a successful build as well as reduce the time it takes for someone starting from scratch to learn how to compile this.
Issues and changes from the cheat sheet (in no particular order)
1. Follow the steps EXACTLY as they are listed in the next section. It should go smoothly if you do this. I had an issue with Step 16 at first-if you get an error that says ‘./boostrap needs to be run in a subdirectory’, work your way back to the git ‘vlc’ directory reached at Step 11 and try it again.
2. In step 3 and step 6, if you're logged in as a standard user, you need to use sudo in front of the command (change from cheat sheet). If not you will get errors saying failed to get default registry endpoint from daemon (permission denied), etc. This is just because you need to use sudo in front of the docker pull command and not an issue with your internet.
3. Steps 7 and 8 were added because I needed to update the packages and install python inside the docker image. If you don’t, make will complain in step 21 that python is needed compile Qt and that it’s missing. Installing python here will allow you to follow the steps cleanly until the end.
4. I added Step 1 and changed Step 2 from the cheat sheet. Installing docker is not a trivial thing-you can’t just run ‘sudo apt-get install docker-ce’ right out of the box. You need to install the repositories and other stuff. The link in Step 1 will explain how to do this. Note: You only need to follow the instructions listed in Step 1 contained in the link. The other steps describe how to install docker an optional way and how to use docker. You can confirm the installation at the end of the Step 1 instructions.
5. There are instructions on installing Docker for other versions of Ubuntu in the link, which translates to other versions of Linux Mint. If you’re running a different distro/etc., performing these steps prior to installing docker seems like a common thing folks need to do in order to run it regardless of the system. A quick search of the internet about installing it on your flavor of Linux should be fruitful.
6. In Step 3 and Step 6, I used the 64-bit image: vlc-debian-win64. This is a change from the cheat sheet. These steps here will probably work the same with vlc-debian-win32, however I haven’t tried it (yet).
7. It took my system approximately 2.5 hours to compile (complete Step 15). Tack on another hour for the rest of the stuff and it should take about 3.5 hours to have a compiled version that can be installed on 64-bit Windows. My machine specs are listed below so if you have a different setup, your time will probably be different, and hopefully faster.
8. These steps were valid 8-29-18. I can’t guarantee they will work any time after that. I could return to this in 3 months and end up in the weeds. I wanted to learn how to compile this version of VLC so I could confirm a separate issue I found in a previous version (3.0.3).
Steps to compile development version of VLC
1 Install docker: For docker-ce you have to add the prerequisites and the repository. If your using Linux Mint 19/Ubuntu 18.04 follow the instructions to install it here:
https://www.digitalocean.com/community/ ... untu-18-04
2 Verify docker has been successfully installed-completed in Step 1 above and in the link. (The original command "sudo apt-get install docker-ce" from the cheat sheet is executed in Step 1 now. )
3 sudo docker pull registry.videolan.org:5000/vlc-debian-win64
4 cd ~
5 mkdir win64
6 sudo docker run -v ~/win64:/win64 -i -t registry.videolan.org:5000/vlc-debian-win64 /bin/bash (...you will now be running the build environment from a docker container as root)
7 apt-get update (updates the docker repositories)
8 apt-get install python (installs python on the docker image. Needed to compile Qt stuff later)
9 cd win64
10 git clone https://git.videolan.org/git/vlc
11 cd vlc
12 mkdir -p contrib/win32
13 cd contrib/win32
14 ../bootstrap --host=x86_64-w64-mingw32 –disable-protobuf
15 make - (... this will take some time so turn off screensaver and go out for lunch)
16 cd -
17 ./bootstrap (note the dot-slash as opposed to the dot-dot-slash in Step 13)
18 mkdir win32
19 cd win32
20 ../extras/package/win32/configure.sh --host=x86_64-w64-mingw32 –build=x86_64-pc-linux-gnu
21 make
22 make package-win32[/list]
Original cheat sheet link here (again):
https://forum.videolan.org/viewtopic.ph ... 89#p475525
Development machine summary:
VirtualBox guest system
Distribution: Linux Mint 19 Mate 64-bit (fresh install out of the box)
Memory: 4 GB
Processor count: 2
Virtual HDD 1: 50 GB
Virtual HDD 2: 75 GB
User: Normal user privileges (not Administrator or root)
Host system
Windows 10 Pro
12 GB memory
4th Gen Intel i7