GDevelop Linux

Hi! I did a “Default” build of GDevelop 4 from the github source, but I run the executable and the “Looking for updates” dialog appears, it says in the version info: “Your version: 0.0.0-0-unknown”
Does anyone know why that is?

Version should be determined automatically from the latest github tag. Have you made a full git clone of the sources or just downloaded a zip/tarball of the sources?
If you have not made a git clone, that could explain why version wasn’t detected. You should be able to ignore this though (I hope it won’t make things crash).

I see! I think I only downloaded a tarball. Can some kind of git hook not be set up to modify the actual version when the project gets updated? I assume there is no continuous integration set up, otherwise at least the build version would change automatically on modification.
I will try to clone properly.

There is continuous integration set up to launch tests (using Travis CI) but no continuous deployment as it’s very hard to set up for a huge native program like GD and needs virtual machines that are more powerful than most machines offered by free CI services like Circle CI or Travis CI.

The version is not stored anywhere in fact, it’s derived from the last Git tag by CMake and written in a file that is not versioned. :slight_smile: (which is nice to bump the version, just tag a commit and build the app. On the other hand it’s harder to track if you don’t have the full git repo).

Ok, I just realized I cloned the last time as well, but not before I cloned again and rebuilt the whole project :confused:
Still, the version info is all zeroes.
I also listed all tags with git, the latest one being 4.0.96

When launching CMake, do you have the message “No tags found to determine the version of GDevelop!”?
It should be displayed as it is when version “0.0.0-0-unknown” is set.

Can you check if git was found by CMake?

No error about tags was printed.
For git there was this entry:

– Found Git: /home//bin/git (found version “2.13.GIT”)

  • which speaks for itself as to whether cmake was able to find Git.
    I have to go now, will visit the forums again tomorrow (it is almost tomorrow here though).

I managed to build it so that the actual version is now shown.
What I first used to build was Qt Creator, choosing the “Default” project configuration, running CMake from the “Build” menu and clicking the “Build project” item.
Qt Creator creates a folder named “build-gdevelop_repo-Desktop-Default” in the parent of the cloned repository.
From this build folder, it runs the build command “cmake --build . --target all”.
The problem is that aside from the version info being wrong, I cannot create a new scene. Clicking on the button just freezes the program.

Now I’m using cmake manually, by first creating a folder named “build” inside the repository, changing to it and issuing the command “cmake -G ‘Unix Makefiles’”. Then I just run “make all”.
This way, it does show the version correctly.
However, the built executable still becomes unresponsive the moment I click on “New Scene”.
Other actions, like accessing the “About” page, the “Help” menu, etc. seem to work fine.
I tried launching it in 2 different ways: first by changing to the directory containing the executable and doing “LD_LIBRARY_PATH=. ./GDIDE”
Next by running “./StartGDevelop.sh”
The results are the same.

Update: I just found the build instructions on the github page under the section for contributing to the old editor.
What confused me was that I’m used to find the build instructions in some context which describes how to install or use a program, not in one describing how to modify/contribute to it. I’m going to try if the steps described there help me to get it running after the build.

This time I did follow the instructions found on the github page, to no avail.
The editor allows me to open a project, see its image bank, open its images, but whenever I click on the scene it eats 1 CPU core completely and freezes. RAM usage of the process is not high, I don’t think it’s a memory leak.
I even rebuilt with the tag “4.0.96” checked out, suspecting that not every commit is guaranteed to work, only release versions.

uname -a: Linux name-pc 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

I finally found the issue by literally google-ing for the error message and code GDB spat out when debugging GDevelop:

github.com/4ian/GD/issues/338

I see that this bug is still open as well as the corresponding pull request.
Are releases for Linux not made from the main repository then? Is there a more “official” way to get the working source code than using Victor’s fork?

Ok, the last version to work on Ubuntu 16.04 until now is the one under tag 4.0.92.
Managed to find it after taking a look at the version of the distribution in the official PPA.
BTW, the “PackageForUbuntu.sh” script in the version for Xenial Xerus has “GD_VERSION=3.6.78” and “DISTRO=utopic” in it.
It also has a lot of Windows release files and a 7zip.exe, etc. Is this one package actually used to build the release for all OS-es? Or did the Windows-specific stuff remain there by accident? I am also wondering why the name of the older Ubuntu version is present in the packaging script.