Errors building engine with plugins on Debian Linux 10 amd64 (AGS Master branch)

Started by pell, Fri 13/12/2019 01:28:01

Previous topic - Next topic

pell

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: ags
                         ^
../Plugins/agspalrender/ags_palrender.cpp: In function ‘int agspalrender::DrawReflections(int, int)':
../Plugins/agspalrender/ags_palrender.cpp:1624:65: error: invalid use of incomplete type ‘struct AGSCharacter'
  if (Reflection.Characters[id].replaceview == 0) view = currchar->view+1;
                                                                 ^~
In file included from ../Plugins/agspalrender/ags_palrender.cpp:31:
../Engine/plugin/agsplugin.h:87:8: note: forward declaration of ‘struct AGSCharacter'
 struct AGSCharacter;
        ^~~~~~~~~~~~
../Plugins/agspalrender/ags_palrender.cpp:1626:51: error: invalid use of incomplete type ‘struct AGSCharacter'
  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".

Crimson Wizard

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.

Quote from: pell on Fri 13/12/2019 01:28:01I don't know how to check out branches in git

Usually it's
Code: bash

git checkout branch-name

https://git-scm.com/docs/git-checkout

pell

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

SMF spam blocked by CleanTalk