Author Topic: Errors building engine with plugins on Debian Linux 10 amd64 (AGS Master branch)  (Read 278 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 »

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:
There's a PR that suppose to fix the error (I did not have time to review it just yet):

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".