Building a newer version of software from source on Mint : Warzone

Write tutorials for Linux Mint here
More tutorials on https://github.com/orgs/linuxmint/discu ... /tutorials and (archive) on https://community.linuxmint.com/tutorial
Forum rules
Don't add support questions to tutorials; start your own topic in the appropriate sub-forum instead. Before you post read forum rules
Post Reply
self-heal
Level 1
Level 1
Posts: 14
Joined: Sat Nov 14, 2015 11:41 am

Building a newer version of software from source on Mint : Warzone

Post by self-heal »

The tutorial may help a user build a software package for Linux Mint. Here Warzone 3.2.3 is what is being attempted. Below are reasons for doing this and the methods used. Many users are accustomed to the apt-get interface and may be a bit mystified on how to figure-out the names of the packages.

Linux Mint 17.2 comes with version 3.1. In order to play with others you will probably need an up-to-date program. This
I attempted to build Warzone 3.2.3 from source this is my experience:

Another poor soul tried to install an incompatible package from somewhere else. If you compile it yourself, you at least know it is being built for the libraries on your system.
viewtopic.php?f=47&t=268049&p=1460045&h ... e#p1460045

I downloaded the source code from it's website. The website is shown to you when you exit the game. You don't need to trust the website I give you. ;)

So, the distribution free way of doing things is to unpack the archive with tar:

tar -xzf ~/Downloads/warzone*.tar.gz -C /usr/local/src

Then you change to its directory and try to configure

./configure

I would run configure and find I needed to install a package. This was repeated a dozen times until finally configure finished without an error.

While installing, I found I was using apt-get with wildcards and apt-file to search for missing files needed for configure.

The following lines were taken from my 'command line history'. Some of these commands may not work or I may have chosen not to install and it is probably incomplete because I install new stuff all of the time. The list is a start though.

sudo apt-get install theora*-dev
sudo apt-get install libopenal-dev
sudo apt-get install libvorbis*-dev
sudo apt-get install libglew*-dev
sudo apt-get install libphysfs-dev
sudo apt-get install libfribidi*-dev
sudo apt-get install libfreetype2*-dev
sudo apt-get install libfreetype2*
sudo apt-get install libharfbuzz*dev
sudo apt-get install libharfbuzz*
sudo apt-get install fontconfig*
sudo apt-get install libfontconfig-dev
sudo apt-get install libqt*-dev





You must use the CXXFLAGS environment variable to compile Warzone 3.2.3. You can set it to use QT4 with

CXXFLAGS=-I/usr/include/qt4

You can set it to use QT5 with:

CXXFLAGS=-I/usr/include/qt5.


The good news is you have options. The bad news is if you use QT4, you will get an error while compiling Warzone and if you use QT5, you will get an error compiling Warzone.

The source code of Warzone is written for Qt5 but the QtScript headers are missing from the development package of Qt5. And there seems to be no way through the packaging system of Mint to install QtScript for Qt5.

When you build some software either you find out through configure or through make that something is missing. in this case it is QtScript. Generally, if you need to find out which package has QScriptEngine then do the following command:

apt-file search QScriptEngine


The command will show you that the header is only in libqt4-dev.

If you want to compile it yourself you will first have to compile Qt5 libraries and then go through this procedure again. By using the same methodology of this post to install libqt5, you should be able to get a libqt5 running on your system. Then you can go back to the Warzone source directory and run configure and make again, as is a good practice to install packages this way into /usr/local rather than /usr. You will have to set the CXXFLAGS environment variable to this new /usr/local/include/qt5 directory so it uses your self included qt5 rather than the Mint QT5.
ssspace

Re: Building a newer version of software from source on Mint : Warzone

Post by ssspace »

I'm glad Flatpaks and Snaps are now a thing, that's just too much work just to play a game. There's a snap for Warzone, but no Flatpak yet.
Post Reply

Return to “Tutorials”