Single Status Update
Results of testing the compile of latest Edge on Linux.
I tried to compile EDGE on Linux. I don't have exactly the right libraries, so this failed.
But, I ran through the compile anyway to see what would happen, and to detect other errors.
You have instructions for Visual, but the Linux instructions are somewhat hard to decipher. They should be explicit.
The instructions in build_guide/MAKEBuild.md -- do not work --
>> make Makefile.linux
I tried the CMake system instead.
System: Slackware 14.2, Linux 4.4.88
# These are the steps that I took.
# These should be listed in a Linux specific file in your build docs.
>> mkdir /usr/local/src/game/edge
>> cd /usr/local/src/game/edge
>> unzip <source_zip_file>
>> mkdir build
>> cd build
>> cmake ../hyper3DGE-master
# CMake accepted what I have for libraries.
fatal: not a git repository
# ignored this error and continued on
Error file w_wad.c
PHYSFS_EnumerateCallbackResult does not name a type
PHYSFS_Stat was not declared
PHYSFS_FILETYPE_DIRECTORY was not declared
PHYSFS_readBytes was not declared
These are not in physfs-2.0.3
I am stuck until my physfs library gets updated.
I really do not want to install a bleeding edge pre-release version.
DoomLegacy Development Team
I apologize for the outdated information contained in lib_versions.md. I've just pushed a change to that file for the repo. Since we don't have many dependencies anymore, this is the list verbatim:Quote
/physfs (3.1), https://icculus.org/physfs/
* Note that the reliance on libogg and libvorbis will soon go away when we finish re-implementing OpenAL. Also, you no longer need any external image loading libraries nor do you need libCPUID, as those are handled internally by EDGE now.Quote
3DGE Library Versions
This document outlines the libraries 3DGE needs for compile.
Please note that all libraries **must be statically linked** to the EXE (except for SDL2 on Win32).
-- WHY, on Linux too ??
They don't need to be explicitly linked on Linux - I have since used and compile EDGE for Linux a lot more than I did when that document was created so I have a much greater understanding of the Linux operating system. I compile and test on x64:Xubuntu by the way. Those statically-linked requirements are really only for Windows versions (which follows the overall convention laid out by EDGE 1.35).
So, go ahead and clean out your directory and pull fresh - just make sure you have the latest physFS, libogg, libvorbis, and SDL2 2.0.8 (though EDGE will compile with SDL 2.0.6 if problems arise with sound output).
Please try the updated method and let me know what your results are.Spoiler
Also, you can use the /quick_setup_scripts directory/files to install the needed dependencies automatically if you don't want to do it manually (or are unsure where to find latest versions of said libraries). Though this has only been tested on my end using 'ubuntu-getdeps.sh', so just be aware of that if you do use these scripts.