Skip to content

Pythia8_i: Work around pythia 8.310 plugin issues.

Pythia 8.310 adds a plugin mechanism, allowing loading a class dynamically given the class and library name. To make this work, some functions with known names are defined in the compilation unit containing the plugin via Pythia macros. But if the same plugin is declared in more than one compilation unit, we'll get link errors.

This comes up here because we have several compilation units that all include the PowhegHooks.h header defining that pluzgin. However, we have our own mechanism to create the class and are not relying on the Pythia mechanism. So for now, we'll just null out the Pythia macros that define the plugin functions. That should get things working as they were in 8.309.

Once we're ready to drop versions older than 8.310, it would probably be worth revisiting this to see if we can change to using the Pythia plugin mechanism.

Merge request reports