Cube GUI Plugin User Guide  (CubeGUI 4.8.2, revision 7895e762)
How to develop a Cube GUI Plugin, road map and examples
Developing plugins

Further examples

Extensive example

The example in $CUBE_INSTALL_PREFIX/share/doc/cube/example/gui/plugin uses all major functions of PluginServices. It contains functions to handle

See also
cubepluginapi::PluginServices
DemoPlugin.h
DemoPlugin.cpp
demo-plugin.pro.in

ValueView example

$CUBE_INSTALL_PREFIX/share/doc/cube/example/gui/value-view is an example of a plugin that offers an additional value view. It adds a boxplot view for tau metrics. The example

See also
cubepluginapi::PluginServices
TauValueView.h
TauValueView.cpp
tau-value.pro.in

Problems loading plugins

If the plugin doesn't load, start cube with -verbose to get further information. The most likely reason is an undefined reference:

plugin /opt/cube/lib64/cube-plugins/libSimpleExamplePlugin.so is not a valid
CubePlugin version cubeplugin/1.1
Cannot load library /opt/cube/lib64/cube-plugins/libSimpleExamplePlugin.so:
(undefined symbol: _ZN13SimpleExample10cubeClosedEv)

If we remove the definition of the method cubeClosed() in SimpleExample.cpp, the plugin is created without errors, but it cannot be loaded. cube -verbose shows the error message above.

When building plugins, it is important to ensure that the plugin is configured in the same way as cube. A plugin build with incompatible options shows the following error:

Plugin verification data mismatch in '/opt/cube/lib64/cube-plugins/libSimpleExamplePlugin.so'

The same compiler, the same Qt library and the same configuration options have to be used. Only plugins which are created using a Qt library with a lower minor version can also be loaded.


Cube Writer Library    Copyright © 1998–2022 Forschungszentrum Jülich GmbH, Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming