ENIGMA Forums
General fluff => General ENIGMA => Topic started by: LoboSandia on December 05, 2015, 02:35:41 am
-
Hi guys, i dont post too often but i would change that
So my question is: Which dependencies are needed to play games made in enigma, in another gnu/linux computer which do not have enigma installed? there are dependencies on windows?
thanks in advance :D
-
Technically none. Everything is statically linked on Windows and Linux, so there shouldn't be any. I have seen people adding pthread.dll or openal.dll with their games made in ENIGMA, but that isn't required. Sadly I haven't tested Linux much, so there could be a problem there. But then we just need to change the makefile.
-
thanks for the answer, i recently installed a fresh copy of debian, and tried to execute a previously compiled executable, didnt opened, then i installed the enigma required dependencies:
sudo apt-get install g++ zlib1g-dev libglu1-mesa-dev libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev
then the game worked, so aparently they are all needed to play the enigma-compiled games
-
Only some of those are necessary, and ideally none of them should be. All I can say for sure is that g++ is unnecessary, but you may want to try removing the others one at a time to find the minimum set. That would make it easier to fix.
-
Someone once contacted me saying that the game I have written in ENIGMA (https://onpon4.github.io/games/karatekat/) requires DUMB (libdumb1) and ALURE (libalure1). There might be more requirements that he just happened to have already, though, and he didn't say whether or not he had working sound.
-
I guess on Linux it is more standard to use dynamic linking (as it is easy to install dependencies) instead of static. On Windows everything is statically linked as we don't want force people to include some .dll's with the game. On Linux I don't know what the best way would be in this case. Maybe two profiles in ENIGMA - one statically link and the other dynamically. If you don't use Audio, then only these should be required:
zlib1g-dev libglu1-mesa-dev
But of course without the "-dev", as it is required for compiling with ENIGMA, not running.
For the ones you posted:
g++ - Compiler - used by ENIGMA to make your game. But not required to run it.
zlib1g-dev - Used in ENIGMA engine to pack resources with zip compression.
libglu1-mesa-dev - OpenGL support what is used by ENIGMA for graphics.
libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev - All of these are for sound. OpenAL (ALURE) is the sound system used by ENIGMA. Vorbis and Dumb just give additional file formats OpenAL can playback.
-
That could create a problem with copyright, proprietary software can't statically link LGPL.
You are actually best to just leave it alone for Linux. That's the way people expect it to work, and one of the reasons why I like Linux because it leads to less bloat. What should be done is to write down all the dependencies and list them on a page somewhere on the Wiki. Users can use that to warp the dependencies in a package that the package manager will take care of.
Somebody could also just make a script and ENIGMA could copy it to the output dir for install to work.