Opened 16 months ago

Last modified 10 days ago

#13746 new defect

MAKE: Dynamic build detection fails at compile time.

Reported by: Achaean Owned by:
Priority: high Component: --Other--
Version: Keywords:
Cc: Achaean Game:

Description

ScummVM compilation fails, if you add the "--enable-detection-dynamic" argument.

I'm at PCLinux and I tried both the latest stable version and the latest code from Githump.

The last lines of console output are:

>
.
.
.
base/detection/detection.cpp:53:24: σφάλμα: expected constructor, destructor, or type conversion before ‘(’ token
53 | REGISTER_PLUGIN_DYNAMIC(DETECTION_DYNAMIC, PLUGIN_TYPE_DETECTION, DetectionDynamic);
|                        ^
make: *** [Makefile.common:171: base/detection/detection.o] Error 1
make: *** Waiting for unfinished jobs....
>

Change History (4)

comment:1 by digitall, 16 months ago

Component: --Unset----Other--
Keywords: Dynamic build detection removed

comment:2 by digitall, 16 months ago

Replicated with latest git master. The issue appears to occur if "--enable-plugins" is not passed and dynamic plugins is not the default build on platform i.e. on Linux x86_64, the default will be a static build, rather than using plugins.

However, adding a guard to base/detection/detection.cpp to check for the DYNAMIC_MODULES symbol is not sufficient to get a successful build and link with the current code.

It looks like the static vs. dynamic build logic in configure, config.h symbols and code could do with a minor refactor to ensure a clear logical consistency in how this works.

comment:3 by sev-, 11 days ago

Priority: normalhigh

It would be nice to get it fixed before the 2.8.0 release.

comment:4 by sev-, 10 days ago

Summary: Dynamic build detection fails at compile time.MAKE: Dynamic build detection fails at compile time.
Note: See TracTickets for help on using tickets.