[Kalzium] crash because kalzium still links to libavogadro.so !!

Marcus D. Hanwell marcus at cryos.org
Mon May 21 12:06:39 CEST 2007


On Monday 21 May 2007 06:00:54 Benoît Jacob wrote:
> Actually, the cause of the problem was much simpler than I had imagined,
> and that also might explain why I triggered it while Marcus didn't:
>
> These lines were still present in toolgroup.cpp:
>
>     if(getenv("AVOGADRO_TOOLS") != NULL)
>     {
>       pluginPaths = QString(getenv("AVOGADRO_TOOLS")).split(':');
>     }
>
> Removing them obviously fixes the problem :) in other words: don't honor
> the AVOGADRO_TOOLS variable.
>
> But since I've already renamed the engines and tools with -kalzium suffix,
> I'll take this occasion to add an extra security mechanism: check before
> loading a plugin that it filename contains "kalzium".
>
I stopped using any of the environment variables and so I missed that. I 
thought the environment variable stuff had all been removed from the kalzium 
snapshot of libavogadro though. I knew I had installed everything in 
lib/avogadro-kalzium/ and then made sure the tools loaded from there which is 
why I couldn't see how you were getting that.

We do need to look at both avogadro and kalzium at some point though - they 
shouldn't hard code in lib. Strictly 64 bit systems can just have lib64 for 
the 64 bit libs and lib is a separate directory for 32 bit libs and 
architecture neutral libs/files. So we should look in the installed lib dir 
for engines/tools etc.


More information about the Kalzium mailing list