Fwd: kalzium gl part

Does anybody have the slighest idea what might go wrong here?

Carsten

---------- Weitergeleitete Nachricht ----------

Betreff: kalzium gl part
Datum: Mittwoch, 23. Mai 2007
Von: qoajnv@usc.es
An: cniehaus@kde.org

Dear Carsten
I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel list?

here the backtrace

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);
(gdb) bt
#0 OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0)
at obconversion.cpp:427
#1 0xb52a107e in OpenBabel::OBConversion::SetInAndOutFormats
(this=0xbf9d5234, pIn=0x0, pOut=0x0) at obconversion.cpp:413
#2 0xb543f81d in OpenBabel2Wrapper::readMolecule
(filename=@0xbf9d5344) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/openbabel2wrapper.cpp:51
#3 0xb543fe47 in KalziumGLPart::openFile (this=0x8289f68) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/kalziumglpart.cpp:95
#4 0xb7bd30e8 in KParts::ReadOnlyPart::openUrl (this=0x8289f68,
url=@0x80c2224) at
/home/armando_kde/kde/src/KDE/kdelibs/kparts/part.cpp:508
#5 0xb7eb5812 in KonqView::openUrl (this=0x823bdb8, url=@0x80c2224,
locationBarURL=@0xbf9d5528, nameFilter=@0xbf9d5524, tempFile=false)
at /home/armando_kde/kde/src/KDE/kdebase/apps/konqueror/konq_view.cc:225

with the output
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlreactlformat.so did not load
properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/pubchem.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/xmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cdxmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/APIInterface.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/CSRformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/PQSformat.so did not load properly

By the way I have to do several changes in order to properly load the
part, I think the library part should be called libkalziumglpart and
not libcompoundviewer, code is a bit messy now about this.

Best wishes
Armando


I really have no idea, sorry.

But I’ve been thinking for a bit of time, and I’ve already said a few
times including on this list, that I think that KryoMol should use
libavogadro directly. From the point of view of an app like KryoMol, the
KalziumGLPart only adds an useless layer on top of libavogadro. Of course
things were different two weeks ago when Kalzium didn’t use libavogadro,
but that has changed.

The correct approach for KryoMol consists in using libavogadro, and using
Avogadro::GLWidget directly (maybe subclass it if you need to add
slots…)

Cheers,
Benoit

On Wed, 23 May 2007, Carsten Niehaus wrote:

Does anybody have the slighest idea what might go wrong here?

Carsten

---------- Weitergeleitete Nachricht ----------

Betreff: kalzium gl part
Datum: Mittwoch, 23. Mai 2007
Von: qoajnv@usc.es
An: cniehaus@kde.org

Dear Carsten
I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel list?

here the backtrace

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);
(gdb) bt
#0 OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0)
at obconversion.cpp:427
#1 0xb52a107e in OpenBabel::OBConversion::SetInAndOutFormats
(this=0xbf9d5234, pIn=0x0, pOut=0x0) at obconversion.cpp:413
#2 0xb543f81d in OpenBabel2Wrapper::readMolecule
(filename=@0xbf9d5344) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/openbabel2wrapper.cpp:51
#3 0xb543fe47 in KalziumGLPart::openFile (this=0x8289f68) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/kalziumglpart.cpp:95
#4 0xb7bd30e8 in KParts::ReadOnlyPart::openUrl (this=0x8289f68,
url=@0x80c2224) at
/home/armando_kde/kde/src/KDE/kdelibs/kparts/part.cpp:508
#5 0xb7eb5812 in KonqView::openUrl (this=0x823bdb8, url=@0x80c2224,
locationBarURL=@0xbf9d5528, nameFilter=@0xbf9d5524, tempFile=false)
at /home/armando_kde/kde/src/KDE/kdebase/apps/konqueror/konq_view.cc:225

with the output
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlreactlformat.so did not load
properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/pubchem.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/xmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cdxmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/APIInterface.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/CSRformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/PQSformat.so did not load properly

By the way I have to do several changes in order to properly load the
part, I think the library part should be called libkalziumglpart and
not libcompoundviewer, code is a bit messy now about this.

Best wishes
Armando



This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

On May 23, 2007, at 11:30 AM, Carsten Niehaus wrote:

Does anybody have the slighest idea what might go wrong here?

I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel
list?

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);

If that’s a crash backtrace it’s clearly an Open Babel bug, and I’d
really appreciate it if you filed a bug report. (I guess there are no
formats, so the pointer is NULL.)

The “does not load properly” is a separate issue and means:

  • There’s an ABI mismatch between the library and the plugins (e.g.,
    you’re loading libopenbabel from SVN trunk and trying to open older
    plugins)

-or-

I’m assuming here that regularly using Open Babel works fine, right?

Thanks,
-Geoff

The strange thing is that when you call the visor from kalzium main
application openbabel loads properly, the problem is using the GLWidget
inside the KPart, so is not an ABI problem but a resolving symbols problem
Maybe are symbols with the same name defined in openbabel and kde4 ?
I will try to investigate a bit more the problem this night

On May 23, 2007, at 11:30 AM, Carsten Niehaus wrote:

Does anybody have the slighest idea what might go wrong here?

I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel
list?

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);

If that’s a crash backtrace it’s clearly an Open Babel bug, and I’d
really appreciate it if you filed a bug report. (I guess there are no
formats, so the pointer is NULL.)

The “does not load properly” is a separate issue and means:

  • There’s an ABI mismatch between the library and the plugins (e.g.,
    you’re loading libopenbabel from SVN trunk and trying to open older
    plugins)

-or-

I’m assuming here that regularly using Open Babel works fine, right?

Thanks,
-Geoff


Dr. Armando Navarro-Vázquez
RIAIDT. Univdade de Resonancia Magnetica
Universidade de Santiago de Compostela
http://desoft03.usc.es/armando/index.html

Well , I have still not decided the architecture of KryoMol, but I think that
many of current features should fit nicely in Kalzium ( thumbnail rendering,
KFileInfo etc., JCAMP-DX/NMR support, chime etc…) so I see more feature for
KryoMol as an specialized extension of Kalzium for quantum chemical stuff, so
maybe inheriting directly from Kalzium is better idea. But of course these
are quite preliminary ideas

I really have no idea, sorry.

But I’ve been thinking for a bit of time, and I’ve already said a few
times including on this list, that I think that KryoMol should use
libavogadro directly. From the point of view of an app like KryoMol, the
KalziumGLPart only adds an useless layer on top of libavogadro. Of course
things were different two weeks ago when Kalzium didn’t use libavogadro,
but that has changed.

The correct approach for KryoMol consists in using libavogadro, and using
Avogadro::GLWidget directly (maybe subclass it if you need to add
slots…)

Cheers,
Benoit

On Wed, 23 May 2007, Carsten Niehaus wrote:

Does anybody have the slighest idea what might go wrong here?

Carsten

---------- Weitergeleitete Nachricht ----------

Betreff: kalzium gl part
Datum: Mittwoch, 23. Mai 2007
Von: qoajnv@usc.es
An: cniehaus@kde.org

Dear Carsten
I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel list?

here the backtrace

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);
(gdb) bt
#0 OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0)
at obconversion.cpp:427
#1 0xb52a107e in OpenBabel::OBConversion::SetInAndOutFormats
(this=0xbf9d5234, pIn=0x0, pOut=0x0) at obconversion.cpp:413
#2 0xb543f81d in OpenBabel2Wrapper::readMolecule
(filename=@0xbf9d5344) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/openbabel2wra
pper.cpp:51 #3 0xb543fe47 in KalziumGLPart::openFile (this=0x8289f68) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/kalziumglpart
.cpp:95 #4 0xb7bd30e8 in KParts::ReadOnlyPart::openUrl (this=0x8289f68,
url=@0x80c2224) at
/home/armando_kde/kde/src/KDE/kdelibs/kparts/part.cpp:508
#5 0xb7eb5812 in KonqView::openUrl (this=0x823bdb8, url=@0x80c2224,
locationBarURL=@0xbf9d5528, nameFilter=@0xbf9d5524, tempFile=false)
at
/home/armando_kde/kde/src/KDE/kdebase/apps/konqueror/konq_view.cc:225

with the output
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlreactlformat.so did not load
properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/pubchem.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/xmlformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cdxmlformat.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/APIInterface.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/CSRformat.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/PQSformat.so did not load properly

By the way I have to do several changes in order to properly load the
part, I think the library part should be called libkalziumglpart and
not libcompoundviewer, code is a bit messy now about this.

Best wishes
Armando



This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Dr. Armando Navarro-Vázquez
RIAIDT. Univdade de Resonancia Magnetica
Universidade de Santiago de Compostela
http://desoft03.usc.es/armando/index.html

On May 23, 2007, at 12:41 PM, Armando Navarro Vázquez wrote:

inside the KPart, so is not an ABI problem but a resolving symbols
problem
Maybe are symbols with the same name defined in openbabel and kde4 ?

That means this is the problem:

Probably the KPart isn’t loaded with RTLD_GLOBAL set. (It might also
be another dynamic library load down the line, it’s hard to know
right now.)

Cheers,
-Geoff

On Wednesday 23 May 2007 18:50:43 Armando Navarro Vázquez wrote:

Well , I have still not decided the architecture of KryoMol, but I think
that many of current features should fit nicely in Kalzium ( thumbnail
rendering, KFileInfo etc.,

I saw the screenshots illustrating these features on kde-apps.org. I must say
that is very useful, not only for Kalzium, but for everywhere on the desktop
of a chemistry-inclined user. And yes, Kalzium’s “Open Molecule File” dialog
would benefit from that as well.

JCAMP-DX/NMR support, chime etc…)

sorry, I’m not a chemist, that’s chinese to me :slight_smile:

so I see
more feature for KryoMol as an specialized extension of Kalzium for quantum
chemical stuff, so maybe inheriting directly from Kalzium is better idea.
But of course these are quite preliminary ideas

I see. I’m just saying that Kalzium’s KPart is now just a very thin wrap
around libavogadro. There’s almost no code there. You can of course decide to
use Kalzium’s KPart as is if you find that it does exactly what you want. But
the problem is that this KPart might change very much from one version of KDE
to another one. In KDE 4.0, it’ll be only a molecular viewer. In KDE 4.1, it
might become a molecular editor. It’s not stable in any sense. So if you base
KryoMol on this KPart, you’ll find that KryoMol is very different depending
on the installed KDE version. So instead, I recommend that you write your own
KPart on top of libavogadro. Code redundancy is not an issue here, as 99% of
the code is in libavogadro anyway. You can look at the source code of
Kalzium’s KPart, the KPart is in kalzium/compoundviewer/ and the UI is in
kalzium/src/tools/.

Cheers,
Benoit

I really have no idea, sorry.

But I’ve been thinking for a bit of time, and I’ve already said a few
times including on this list, that I think that KryoMol should use
libavogadro directly. From the point of view of an app like KryoMol, the
KalziumGLPart only adds an useless layer on top of libavogadro. Of course
things were different two weeks ago when Kalzium didn’t use libavogadro,
but that has changed.

The correct approach for KryoMol consists in using libavogadro, and using
Avogadro::GLWidget directly (maybe subclass it if you need to add
slots…)

Cheers,
Benoit

On Wed, 23 May 2007, Carsten Niehaus wrote:

Does anybody have the slighest idea what might go wrong here?

Carsten

---------- Weitergeleitete Nachricht ----------

Betreff: kalzium gl part
Datum: Mittwoch, 23. Mai 2007
Von: qoajnv@usc.es
An: cniehaus@kde.org

Dear Carsten
I have compiled last kalzium version based on avogadro, I still have
the same problems calling KalziumGLPart inside konqueror, basically
openbabel plugins refuse to load, maybe we should ask to openbabel
list?

here the backtrace

OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0) at
obconversion.cpp:427
427 return !(pOutFormat->Flags() & NOTWRITABLE);
(gdb) bt
#0 OpenBabel::OBConversion::SetOutFormat (this=0xbf9d5234, pOut=0x0)
at obconversion.cpp:427
#1 0xb52a107e in OpenBabel::OBConversion::SetInAndOutFormats
(this=0xbf9d5234, pIn=0x0, pOut=0x0) at obconversion.cpp:413
#2 0xb543f81d in OpenBabel2Wrapper::readMolecule
(filename=@0xbf9d5344) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/openbabel2w
ra pper.cpp:51 #3 0xb543fe47 in KalziumGLPart::openFile
(this=0x8289f68) at
/home/armando_kde/kde/src/KDE/kdeedu/kalzium/compoundviewer/kalziumglpa
rt .cpp:95 #4 0xb7bd30e8 in KParts::ReadOnlyPart::openUrl
(this=0x8289f68, url=@0x80c2224) at
/home/armando_kde/kde/src/KDE/kdelibs/kparts/part.cpp:508
#5 0xb7eb5812 in KonqView::openUrl (this=0x823bdb8, url=@0x80c2224,
locationBarURL=@0xbf9d5528, nameFilter=@0xbf9d5524, tempFile=false)
at
/home/armando_kde/kde/src/KDE/kdebase/apps/konqueror/konq_view.cc:225

with the output
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlreactlformat.so did not load
properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cmlformat.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/pubchem.so did not load properly

*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/xmlformat.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/cdxmlformat.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/APIInterface.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/CSRformat.so did not load
properly ==============================
*** Open Babel Error in LoadFormatFiles
/home/armando_kde/kde/lib/openbabel/PQSformat.so did not load
properly ==============================

By the way I have to do several changes in order to properly load the
part, I think the library part should be called libkalziumglpart and
not libcompoundviewer, code is a bit messy now about this.

Best wishes
Armando



– This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Dear All:
I have finally succeded to load Kalzium KPart inside Konqueror. The
problem is that the Openbabel format plugins are not linked
explicitely against libopenbabel. Very likely KPart module is loaded
with RTLD_LOCAL and the plugins do not see the openbabel symbols. I
modified openbabel makefile and linked the plugins against openbabel
and now it works.
I think that the easiest solution here is to explicitely link plugins
against babel at compilation time. I dont see any reason not to do it
in that way.

Another question:
The mouse behaviour of avo seems a bit strange to me. The most
frequent action is rotate molecule not to translate it, so left mouse
button should handle trackball rotation not translation? In fact I
think that this should be customizable through avo API, so
applications could choose the most appropiate mouse handling to them.
Regards
Armando

On May 23, 2007, at 12:41 PM, Armando Navarro Vázquez wrote:

inside the KPart, so is not an ABI problem but a resolving symbols problem
Maybe are symbols with the same name defined in openbabel and kde4 ?

That means this is the problem:

Probably the KPart isn’t loaded with RTLD_GLOBAL set. (It might also be
another dynamic library load down the line, it’s hard to know right
now.)

Cheers,
-Geoff

On Friday 25 May 2007 12:36:33 qoajnv@usc.es wrote:

Another question:
The mouse behaviour of avo seems a bit strange to me. The most
frequent action is rotate molecule not to translate it, so left mouse
button should handle trackball rotation not translation? In fact I
think that this should be customizable through avo API, so
applications could choose the most appropiate mouse handling to them.

I will leave your other comment to Geoff. We had debated the mouse behaviour
previously, and it is a todo item to make it something that can be customised
by the user. I nearly flipped it around to make left mouse button do rotation
and right mouse button do translation previously.

We welcome feedback on how people tend to work. I think we should settle on
some reasonable defaults and implement this as something that can be changed
by the user as a global option. There is similar behaviour in the
manipulation tool too.

Dear Armando,

not see the openbabel symbols. I modified openbabel makefile and
linked the plugins against openbabel and now it works.
I think that the easiest solution here is to explicitely link
plugins against babel at compilation time. I dont see any reason
not to do it in that way.

Well, this is an option with Open Babel, you run the ./configure
script with --disable-dynamic-modules.

However, this is provided more as a workaround for Cygwin, where we
cannot reliably build separate DLL for each format. This will never
become general policy and is intended to disappear in the future.
Personally, I had hoped that the 2.1 release would see the start of a
"load only when needed" feature.

In the future, Open Babel will only have more dynamically-loaded
plugins (e.g., fingerprints, file formats, force fields, etc.). This
significantly improves the memory footprint.

IMHO, you should file a bug against KPart to use RTLD_GLOBAL. This
will become a real problem with any library which has its own plugins
– and I don’t think Open Babel can be the only one here.

Cheers,
-Geoff

Dear Geoffrey,
I dont mean not compiling plugins but linking then against
libopenbabel, in that way the plugins know where to search for
openbabel symbols and RTLD_GLOBAL in KParts is not necessary, I think
that is also more safe.

Dear Armando,

not see the openbabel symbols. I modified openbabel makefile and
linked the plugins against openbabel and now it works.
I think that the easiest solution here is to explicitely link
plugins against babel at compilation time. I dont see any reason
not to do it in that way.

Well, this is an option with Open Babel, you run the ./configure script
with --disable-dynamic-modules.

However, this is provided more as a workaround for Cygwin, where we
cannot reliably build separate DLL for each format. This will never
become general policy and is intended to disappear in the future.
Personally, I had hoped that the 2.1 release would see the start of a
"load only when needed" feature.

In the future, Open Babel will only have more dynamically-loaded
plugins (e.g., fingerprints, file formats, force fields, etc.). This
significantly improves the memory footprint.

IMHO, you should file a bug against KPart to use RTLD_GLOBAL. This will
become a real problem with any library which has its own plugins – and
I don’t think Open Babel can be the only one here.

Cheers,
-Geoff