plugin problem with newly compiled KMM from git master

Jack ostroffjh at users.sourceforge.net
Thu May 10 16:25:25 UTC 2018


On 2018.05.10 08:26, Thomas Capricelli wrote:
> On 09/05/2018 15:44, Christian Dávid wrote:
> > there is a high chance that KMyMoney is not loading the plugin you  
> compiled but one that was shipped with your distribution. This also  
> explains why the debugger is not working (it should work without any  
> problems). I had the same problem and my (bad) solution was to  
> uninstall the version of KMyMoney of my distribution.

> Speaking of it, I've been told (on IRC i think) that there's a kind  
> of documentation somewhere about running kmm from the build dir  
> without installing. It probably involves messing with LD_PATH and  
> such so that the builddir plugins are found/used instead of the  
> system/distribution ones.. .
> 
> But i could not find it, does anyone have any more information about  
> this ??
> 
Hello Thomas,

It's not just running it from the build dir - it's running any copy  
other than the system installed version.  It also involves far more  
than LD_LIBRARY_PATH.  The issue is that while the main executable can  
be called directly, and LD_LIBRARY_PATH can be used for the main .so  
files, there are many other necessary files, such as icons and plugins,  
that KDE finds based partly on environment variables (including several  
KDE..., XDG_..., QT_..., and other directory paths) and also on cached  
values, which need to be reset by running kbuildsyscoca5.

Below is one of the scripts I use to do this, but right now, I suspect  
it may need further changes to completely avoid using installed files  
instead of newly compiled versions.

--------------
#!/bin/bash
if  [ "x$1" == "xkeep" ]
then
     file=''
elif  [ "x$1" == "x-n" ]
then
     file='-n'
else
     cp /home/jack/home/finance/KMM.kmy /home/jack/home/finance/test.kmy
     file=/home/jack/home/finance/test.kmy
     echo copied KMM.kmy to test.kmy
fi
export KDE_FULL_SESSION=false
prepend() { [ -d "$2" ] && eval $1=\"$2\$\{$1:+':'\$$1\}\" && export $1  
; }
export KDEDIRS=/home/jack/KDE/KMM/installmaster
echo KDEDIRS=$KDEDIRS
prepend LD_LIBRARY_PATH ${KDEDIRS}/lib
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
prepend XDG_DATA_DIRS $KDEDIRS/share
echo XDG_DATA_DIRS=$XDG_DATA_DIRS
echo XDG_DATA_HOME=/home/jack/KDE/KMM/installmaster/share
export XDG_CONFIG_HOME=$KDEDIRS/.config
echo XDG_CONFIG_HOME $KDEDIRS/.config
prepend XDG_CONFIG_DIRS $KDEDIRS/etc/xdg
echo XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS
export KDESYCOCA=/home/jack/KDE/KMM/installmaster/var/cache/ksycoca
export KDEHOME=/home/jack/KDE/KMM/installmaster/.kde
export KDEVARTMP=/home/jack/KDE/KMM/installmaster/var/tmp
prepend QT_PLUGIN_PATH $KDEDIRS/lib64/plugins
kbuildsycoca5
echo
env | egrep "KDE|XDG" | sort
echo
echo /home/jack/KDE/KMM/installmaster/bin/kmymoney $file
echo "****"
/home/jack/KDE/KMM/installmaster/bin/kmymoney $file


Jack


More information about the KMyMoney-devel mailing list