Author Topic: Errors building engine with plugins on Debian Linux 10 amd64 (AGS Master branch)  (Read 91 times)

Today I checked out out the master branch and tried to build the engine following the instructions for Debian Linux. The build failed with compilation errors apparently related to the agspalrender plugin. Here are the first couple of error messages (after skipping all the warnings about pointers and constants):
Code: Adventure Game Studio
  1.                          ^
  2. ../Plugins/agspalrender/ags_palrender.cpp: In functionint agspalrender::DrawReflections(int, int)’:
  3. ../Plugins/agspalrender/ags_palrender.cpp:1624:65: error: invalid use of incomplete type ‘struct AGSCharacter’
  4.   if (Reflection.Characters[id].replaceview == 0) view = currchar->view+1;
  5.                                                                  ^~
  6. In file included from ../Plugins/agspalrender/ags_palrender.cpp:31:
  7. ../Engine/plugin/agsplugin.h:87:8: note: forward declaration of ‘struct AGSCharacter’
  8.  struct AGSCharacter;
  9.         ^~~~~~~~~~~~
  10. ../Plugins/agspalrender/ags_palrender.cpp:1626:51: error: invalid use of incomplete type ‘struct AGSCharacter’
  11.   AGSViewFrame *vf = engine->GetViewFrame (currchar->view+1,currchar->loop,currchar->frame);

I was able to get the engine to build by disabling the inclusion of all built-in plugins and it worked fine with two fairly recent AGS games ("The Goat Crone" and "Clotilde Soffritti in: Never Buy a Used Spaceship"). I'm not a make expert, so there's probably a graceful way of disabling just the plugin that was giving problems. Has anyone else had this problem? I'll file a ticket on GitHub if you all think it's a problem with the code and not something I should have done differently.

Edit: I downloaded the latest ags3 branch zip file (I don't know how to check out branches in git), and it built fine without any modifications. I tested "5 Days a Stranger" for a few minutes, and it seemed to run fine.

Edit: The latest 3.5 branch (zip file download) also builds and runs fine testing with "The Goat Crone".
« Last Edit: 13 Dec 2019, 03:15 by pell »

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on one or more games that won an AGS Award!
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
Hello, this error was an annoyance for some time, and to put it simply, the "master" branch holds experimental changes, and currently does not compile on all platforms.
The error relates to a plugin source which is built in when you make Linux build (and maybe some others).

More information is in this recent ticket: https://github.com/adventuregamestudio/ags/issues/999
There's a PR that suppose to fix the error (I did not have time to review it just yet): https://github.com/adventuregamestudio/ags/pull/1001

But probably we will switch "master" tag to the "ags3" for now, because that experimental version has stalled and causing confusion to people.

I don't know how to check out branches in git

Usually it's
Code: Bash
  1. git checkout branch-name
« Last Edit: 13 Dec 2019, 18:08 by Crimson Wizard »

OK. After reading a few other threads I did start to think Master might not be the latest stable code. I saw that pull request after posting, but I wasn't sure it was the same issue.

Thanks for the git info. I've hardly used more than "git clone" and "git pull".