Skip to content

Linux Build Instructions

int edited this page Nov 7, 2020 · 29 revisions

NOTE: The Linux build is still under development on another fork, and is currently being drafted to merge (see PR #486) - don't expect stability of any kind.

Dependencies (libraries must be i686/lib32):

  • make
  • GCC (or LLVM/clang)
  • automake
  • autoconf

Libraries:

  • libunwind (lib32-libunwind on Arch)
  • glibc (lib32-glibc on Arch)
  • freetype2 (lib32-freetype2 on Arch)
  • fontconfig (lib32-fontconfig on Arch)
  • libGL (should be provided by graphics drivers on all distros (lib32-mesa on Arch if you're using AMD/Intel))
  • libX11 (lib32-libx11 on Arch)
  • openal (lib32-openal on Arch)
  • libncurses (lib32-ncurses on Arch)
  • libcurl-gnutls (lib32-libcurl-gnutls on Arch)
Easy Install For Arch Based Distros:

sudo pacman -S base-devel clang lib32-libunwind lib32-glibc lib32-freetype2 lib32-fontconfig lib32-openal lib32-ncurses lib32-libcurl-gnutls

Easy Install For *buntu Based Distros:

sudo apt install autoconf automake build-essential fontconfig:i386 g++-multilib libcurl4-gnutls-dev:i386 libfontconfig1:i386 libfontconfig1-dev:i386 libfreetype-dev:i386 libncurses-dev:i386 libopenal-dev:i386 libopenal1:i386 libunwind-dev libunwind-dev:i386 libx11-dev:i386 mesa-common-dev:i386

Note: If you get an error in compiling due to -lcurl-gnutls being missing, you need a symlink:

sudo ln -s /usr/lib32/libcurl-gnutls.so.4 /usr/lib32/libcurl-gnutls.so

This occurs on Arch/pacman based distros as far as we know.

Instructions:

  1. Make sure the path leading up to team-comtress-2 has no spaces in it. This will lead to errors compiling the third party libraries.
  2. Prepare for unforeseen consequences; crashes during compilation aren't common but should be expected.
  3. Run ./build.sh -l to compile. This can take any amount of time; it took 20 minutes on a Ryzen 5 1600.
  4. To make sure it compiled correctly, run it again. If you see no errors, then it compiled. Success!
  5. Run ./link.sh to symlink your TF2 assets into the ../game folder. You will get some 'errors' complaining about files already existing; that is normal.
  6. In the main repository directory, run ./run.sh to launch the game. If you have mangohud installed, this will also launch.

Bug reports are appreciated! Please send a full backtrace by running with LLDB and crashing - run.sh -d will launch lldb with the game. Once in LLDB at the terminal, enter r at the (lldb) prompt to run the game, then reproduce the crash. The game should freeze instead of quitting and in your terminal, LLDB should say what the error was, and be at another prompt. type bt to get a backtrace, and put it in an issue on HurricanePootis's fork with how you got there.

Also: Build time in seconds should be reported after build.sh is done the first time you run it (the first line should say real then a number). Reporting your successful build time with your hardware in an issue (if you need to make one) could also be helpful.

Clone this wiki locally