plugins icon indicating copy to clipboard operation
plugins copied to clipboard

Plugins not loading, although they have been successfully compiled

Open illuminated opened this issue 3 years ago • 0 comments

Bug description Cannot load plugins after successful compilation. pgModeler starts, but plugins are not loaded and error is reported before the main window opens.

My qmake was like this:

→ /usr/bin/qmake -r PREFIX=$INSTALLATION_ROOT BINDIR=$INSTALLATION_ROOT \
  PRIVATEBINDIR=$INSTALLATION_ROOT PRIVATELIBDIR=$INSTALLATION_ROOT/lib PLUGINSDIR=$INSTALLATION_ROOT/plugins pgmodeler.pro 
Reading /home/milan/Applications/pgmodeler/libutils/libutils.pro
Reading /home/milan/Applications/pgmodeler/libparsers/libparsers.pro
Reading /home/milan/Applications/pgmodeler/libpgmodeler/libpgmodeler.pro
Reading /home/milan/Applications/pgmodeler/libpgconnector/libpgconnector.pro
Reading /home/milan/Applications/pgmodeler/libobjrenderer/libobjrenderer.pro
Reading /home/milan/Applications/pgmodeler/libpgmodeler_ui/libpgmodeler_ui.pro
Reading /home/milan/Applications/pgmodeler/plugins/plugins.pro
 Reading /home/milan/Applications/pgmodeler/plugins/dummy/dummy.pro
 Reading /home/milan/Applications/pgmodeler/plugins/xml2object/xml2object.pro
 Reading /home/milan/Applications/pgmodeler/plugins/graphicalquerybuilder/graphicalquerybuilder.pro
Reading /home/milan/Applications/pgmodeler/crashhandler/crashhandler.pro
Reading /home/milan/Applications/pgmodeler/main-cli/main-cli.pro
Reading /home/milan/Applications/pgmodeler/main/main.pro

** pgModeler build details ** 
 
  PREFIX        = /home/milan/Apps/pgModeler 
  BINDIR        = /home/milan/Apps/pgModeler 
  PRIVATEBINDIR = /home/milan/Apps/pgModeler 
  PRIVATELIBDIR = /home/milan/Apps/pgModeler/lib 
  PLUGINSDIR    = /home/milan/Apps/pgModeler/plugins 
  SHAREDIR      = /home/milan/Apps/pgModeler/share/pgmodeler 
  CONFDIR       = /home/milan/Apps/pgModeler/share/pgmodeler/conf 
  DOCDIR        = /home/milan/Apps/pgModeler/share/pgmodeler 
  LANGDIR       = /home/milan/Apps/pgModeler/share/pgmodeler/lang 
  SAMPLESDIR    = /home/milan/Apps/pgModeler/share/pgmodeler/samples 
  SCHEMASDIR    = /home/milan/Apps/pgModeler/share/pgmodeler/schemas 
 
* To change a variable value run qmake again setting the desired value e.g.: 
  > qmake PREFIX+=/usr/local -r pgmodeler.pro 
 
* Proceed with build process by running: 
  >  make && make install 

Upon starting pgmodeler, I get the following stack trace:

[0] src/settings/pluginsconfigwidget.cpp (151)
  virtual void PluginsConfigWidget::loadConfiguration()
    [PluginsNotLoaded] One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.

[1] src/settings/pluginsconfigwidget.cpp (143)
  virtual void PluginsConfigWidget::loadConfiguration()
    [PluginNotLoaded] Could not load the plugin `xml2object' from the library `/home/milan/Apps/pgModeler/plugins/xml2object/libxml2object.so'! Message returned by plugin manager: `Cannot load library /home/milan/Apps/pgModeler/plugins/xml2object/libxml2object.so: (/lib/libpgmodeler.so.1: undefined symbol: _ZN12SchemaParser16CharIniAttributeE)'

[2] src/settings/pluginsconfigwidget.cpp (143)
  virtual void PluginsConfigWidget::loadConfiguration()
    [PluginNotLoaded] Could not load the plugin `graphicalquerybuilder' from the library `/home/milan/Apps/pgModeler/plugins/graphicalquerybuilder/libgraphicalquerybuilder.so'! Message returned by plugin manager: `Cannot load library /home/milan/Apps/pgModeler/plugins/graphicalquerybuilder/libgraphicalquerybuilder.so: (/lib/libpgmodeler.so.1: undefined symbol: _ZN12SchemaParser16CharIniAttributeE)'

[3] src/settings/pluginsconfigwidget.cpp (143)
  virtual void PluginsConfigWidget::loadConfiguration()
    [PluginNotLoaded] Could not load the plugin `dummy' from the library `/home/milan/Apps/pgModeler/plugins/dummy/libdummy.so'! Message returned by plugin manager: `Cannot load library /home/milan/Apps/pgModeler/plugins/dummy/libdummy.so: (/lib/libpgmodeler.so.1: undefined symbol: _ZN12SchemaParser16CharIniAttributeE)'

All the files, including plugins, are placed in correct places upon make install:

→ tree .
~/Apps/pgModeler
├── lib
│   ├── libcanvas.so -> libcanvas.so.1.0.0
│   ├── libcanvas.so.1 -> libcanvas.so.1.0.0
│   ├── libcanvas.so.1.0 -> libcanvas.so.1.0.0
│   ├── libcanvas.so.1.0.0
│   ├── libconnector.so -> libconnector.so.1.0.0
│   ├── libconnector.so.1 -> libconnector.so.1.0.0
│   ├── libconnector.so.1.0 -> libconnector.so.1.0.0
│   ├── libconnector.so.1.0.0
│   ├── libcore.so -> libcore.so.1.0.0
│   ├── libcore.so.1 -> libcore.so.1.0.0
│   ├── libcore.so.1.0 -> libcore.so.1.0.0
│   ├── libcore.so.1.0.0
│   ├── libgui.so -> libgui.so.1.0.0
│   ├── libgui.so.1 -> libgui.so.1.0.0
│   ├── libgui.so.1.0 -> libgui.so.1.0.0
│   ├── libgui.so.1.0.0
│   ├── libparsers.so -> libparsers.so.1.0.0
│   ├── libparsers.so.1 -> libparsers.so.1.0.0
│   ├── libparsers.so.1.0 -> libparsers.so.1.0.0
│   ├── libparsers.so.1.0.0
│   ├── libutils.so -> libutils.so.1.0.0
│   ├── libutils.so.1 -> libutils.so.1.0.0
│   ├── libutils.so.1.0 -> libutils.so.1.0.0
│   └── libutils.so.1.0.0
├── pgmodeler
├── pgmodeler-ch
├── pgmodeler-cli
├── pgmodeler-se
├── plugins
│   ├── dummy
│   │   ├── dummy.json
│   │   ├── dummy.png
│   │   ├── lang
│   │   │   ├── dummy.en_US.qm
│   │   │   └── dummy.en_US.ts
│   │   └── libdummy.so
│   ├── graphicalquerybuilder
│   │   ├── graphicalquerybuilder.json
│   │   ├── graphicalquerybuilder.png
│   │   ├── lang
│   │   │   ├── graphicalquerybuilder.en_US.qm
│   │   │   └── graphicalquerybuilder.en_US.ts
│   │   └── libgraphicalquerybuilder.so
│   └── xml2object
│       ├── libxml2object.so
│       ├── xml2object.json
│       └── xml2object.png
└── share
    └── pgmodeler
        ├── CHANGELOG.md
        ├── conf
        │   ├── connections.conf
        │   ├── defaults
        │   │   ├── connections.conf
        │   │   ├── diff-presets.conf
        │   │   ├── example.dbm
        │   │   ├── objects-style.conf
        │   │   ├── pattern-highlight.conf
        │   │   ├── pgmodeler.conf
        │   │   ├── relationships.conf
        │   │   ├── sch-highlight.conf
        │   │   ├── snippets.conf
        │   │   ├── sql-highlight.conf
        │   │   ├── ui-style.conf
        │   │   └── xml-highlight.conf
        │   ├── diff-presets.conf
        │   ├── dtd
        │   │   ├── connections.dtd
        │   │   ├── diff-presets.dtd
        │   │   ├── objects-style.dtd
        │   │   ├── pgmodeler.dtd
        │   │   ├── relationships.dtd
        │   │   ├── snippets.dtd
        │   │   ├── source-code-highlight.dtd
        │   │   └── sql-history.dtd
        │   ├── example.dbm
        │   ├── objects-style.conf
        │   ├── pattern-highlight.conf
        │   ├── pgmodeler.conf
        │   ├── pgmodeler_dbm.png
        │   ├── pgmodeler_logo.png
        │   ├── pgmodeler_sch.png
        │   ├── relationships.conf
        │   ├── schemas
        │   │   ├── application-dbm.sch
        │   │   ├── application-sch.sch
        │   │   ├── commands.sch
        │   │   ├── connections.sch
        │   │   ├── desktop.sch
        │   │   ├── desktop-sch.sch
        │   │   ├── diff-presets.sch
        │   │   ├── file.sch
        │   │   ├── objects-style.sch
        │   │   ├── patterns.sch
        │   │   ├── pgmodeler.sch
        │   │   ├── preset.sch
        │   │   ├── relationships.sch
        │   │   ├── snippet.sch
        │   │   ├── snippets.sch
        │   │   ├── sql-history.sch
        │   │   └── widget.sch
        │   ├── sch-highlight.conf
        │   ├── snippets.conf
        │   ├── sql-highlight.conf
        │   ├── ui-style.conf
        │   └── xml-highlight.conf
        ├── lang
        │   ├── es_ES.qm
        │   ├── es_ES.ts
        │   ├── fr_FR.qm
        │   ├── fr_FR.ts
        │   ├── nl_NL.qm
        │   ├── nl_NL.ts
        │   ├── pt_BR.qm
        │   ├── pt_BR.ts
        │   ├── zh_CN.qm
        │   └── zh_CN.ts
        ├── LICENSE
        ├── README.md
        ├── RELEASENOTES.md
        ├── samples
        │   ├── 3dcitydb.dbm
        │   ├── demo.dbm
        │   ├── oldsample.dbm
        │   ├── pagila.dbm
        │   └── usda.dbm
        └── schemas
            ├── alter
            │   ├── collation.sch
            │   ├── column.sch
            │   ├── confparam.sch
            │   ├── constraint.sch
            │   ├── database.sch
            │   ├── diff.sch
            │   ├── domain.sch
            │   ├── domconstraint.sch
            │   ├── eventtrigger.sch
            │   ├── extension.sch
            │   ├── foreigndatawrapper.sch
            │   ├── foreignserver.sch
            │   ├── foreigntable.sch
            │   ├── function.sch
            │   ├── index.sch
            │   ├── owner.sch
            │   ├── permission.sch
            │   ├── policy.sch
            │   ├── procedure.sch
            │   ├── relationship.sch
            │   ├── rename.sch
            │   ├── rolemembers.sch
            │   ├── role.sch
            │   ├── schema.sch
            │   ├── sequence.sch
            │   ├── table.sch
            │   ├── tablespace.sch
            │   ├── truncate.sch
            │   ├── usermapping.sch
            │   └── usertype.sch
            ├── catalog
            │   ├── aggregate.sch
            │   ├── cast.sch
            │   ├── collation.sch
            │   ├── column.sch
            │   ├── comment.sch
            │   ├── constraint.sch
            │   ├── conversion.sch
            │   ├── database.sch
            │   ├── domain.sch
            │   ├── eventtrigger.sch
            │   ├── extension.sch
            │   ├── foreigndatawrapper.sch
            │   ├── foreignserver.sch
            │   ├── foreigntable.sch
            │   ├── function.sch
            │   ├── index.sch
            │   ├── language.sch
            │   ├── notextobject.sch
            │   ├── objcount.sch
            │   ├── opclass.sch
            │   ├── operator.sch
            │   ├── opfamily.sch
            │   ├── policy.sch
            │   ├── procedure.sch
            │   ├── role.sch
            │   ├── rule.sch
            │   ├── schema.sch
            │   ├── sequence.sch
            │   ├── server.sch
            │   ├── table.sch
            │   ├── tablespace.sch
            │   ├── template.sch
            │   ├── transform.sch
            │   ├── trigger.sch
            │   ├── usermapping.sch
            │   ├── usertype.sch
            │   └── view.sch
            ├── datadict
            │   ├── column.sch
            │   ├── constraint.sch
            │   ├── datadict.sch
            │   ├── index.sch
            │   ├── item.sch
            │   ├── link.sch
            │   ├── styles.sch
            │   ├── table.sch
            │   └── view.sch
            ├── sql
            │   ├── aggregate.sch
            │   ├── cast.sch
            │   ├── collation.sch
            │   ├── column.sch
            │   ├── comment.sch
            │   ├── confparam.sch
            │   ├── constraint.sch
            │   ├── conversion.sch
            │   ├── database.sch
            │   ├── dbmodel.sch
            │   ├── domain.sch
            │   ├── domconstraint.sch
            │   ├── drop.sch
            │   ├── element.sch
            │   ├── eventtrigger.sch
            │   ├── excelement.sch
            │   ├── extension.sch
            │   ├── foreigndatawrapper.sch
            │   ├── foreignserver.sch
            │   ├── foreigntable.sch
            │   ├── function.sch
            │   ├── genericsql.sch
            │   ├── idxelement.sch
            │   ├── index.sch
            │   ├── language.sch
            │   ├── opclass.sch
            │   ├── operator.sch
            │   ├── opfamily.sch
            │   ├── parameter.sch
            │   ├── partitionkey.sch
            │   ├── permission.sch
            │   ├── policy.sch
            │   ├── procedure.sch
            │   ├── relationship.sch
            │   ├── role.sch
            │   ├── rule.sch
            │   ├── schema.sch
            │   ├── sequence.sch
            │   ├── sessionopts.sch
            │   ├── table.sch
            │   ├── tablespace.sch
            │   ├── transform.sch
            │   ├── trigger.sch
            │   ├── typeattribute.sch
            │   ├── usermapping.sch
            │   ├── usertype.sch
            │   └── view.sch
            └── xml
                ├── aggregate.sch
                ├── appendedsql.sch
                ├── basetype.sch
                ├── cast.sch
                ├── changelog.sch
                ├── collation.sch
                ├── column.sch
                ├── comment.sch
                ├── confparam.sch
                ├── constraint.sch
                ├── conversion.sch
                ├── customidxs.sch
                ├── database.sch
                ├── dbmodel.sch
                ├── domain.sch
                ├── domconstraint.sch
                ├── dtd
                │   ├── aggregate.dtd
                │   ├── baseelements.dtd
                │   ├── basetype.dtd
                │   ├── cast.dtd
                │   ├── changelog.dtd
                │   ├── collation.dtd
                │   ├── column.dtd
                │   ├── constraint.dtd
                │   ├── conversion.dtd
                │   ├── customidxs.dtd
                │   ├── database.dtd
                │   ├── dbmodel.dtd
                │   ├── domain.dtd
                │   ├── element.dtd
                │   ├── eventtrigger.dtd
                │   ├── extension.dtd
                │   ├── foreigndatawrapper.dtd
                │   ├── foreignserver.dtd
                │   ├── foreigntable.dtd
                │   ├── function.dtd
                │   ├── genericsql.dtd
                │   ├── index.dtd
                │   ├── label.dtd
                │   ├── language.dtd
                │   ├── metadata.dtd
                │   ├── object.dtd
                │   ├── opclass.dtd
                │   ├── operator.dtd
                │   ├── opfamily.dtd
                │   ├── parameter.dtd
                │   ├── permission.dtd
                │   ├── policy.dtd
                │   ├── procedure.dtd
                │   ├── relationship.dtd
                │   ├── role.dtd
                │   ├── rule.dtd
                │   ├── schema.dtd
                │   ├── sequence.dtd
                │   ├── table.dtd
                │   ├── tablespace.dtd
                │   ├── tag.dtd
                │   ├── textbox.dtd
                │   ├── transform.dtd
                │   ├── trigger.dtd
                │   ├── usermapping.dtd
                │   ├── usertype.dtd
                │   └── view.dtd
                ├── element.sch
                ├── entry.sch
                ├── eventtrigger.sch
                ├── excelement.sch
                ├── extension.sch
                ├── foreigndatawrapper.sch
                ├── foreignserver.sch
                ├── foreigntable.sch
                ├── function.sch
                ├── genericsql.sch
                ├── idxelement.sch
                ├── index.sch
                ├── info.sch
                ├── label.sch
                ├── language.sch
                ├── metadata.sch
                ├── object.sch
                ├── opclass.sch
                ├── operator.sch
                ├── opfamily.sch
                ├── parameter.sch
                ├── partitionkey.sch
                ├── permission.sch
                ├── policy.sch
                ├── position.sch
                ├── prependedsql.sch
                ├── procedure.sch
                ├── reference.sch
                ├── reftable.sch
                ├── relationship.sch
                ├── role.sch
                ├── rule.sch
                ├── schema.sch
                ├── sequence.sch
                ├── style.sch
                ├── table.sch
                ├── tablespace.sch
                ├── tag.sch
                ├── textbox.sch
                ├── transform.sch
                ├── trigger.sch
                ├── typeattribute.sch
                ├── usermapping.sch
                ├── usertype.sch
                └── view.sch

22 directories, 343 files

How to reproduce Checkout the current 0.9.4-beta1 branch, setup plugins and compile.

Expected behavior pgmodeler starts with plugins.

Info about your desktop

  • OS: Linux Mint
  • Version: 20.2
  • Window manager: not applicable
  • pgModeler version: v0.9.4-beta1
  • Qt version: Qt 5.12.8 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.3.0) on "xcb"

illuminated avatar Oct 23 '21 21:10 illuminated