Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugins not loading, although they have been successfully compiled #18

Open
illuminated opened this issue Oct 23, 2021 · 0 comments
Open

Comments

@illuminated
Copy link

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"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant