Building KDE PIM with kdesrc-build

Tom Warnke tom.warnke at kolabnow.com
Sat Aug 13 20:08:57 BST 2016


Hi Dan,

Thanks for your answer. 

On Samstag, 13. August 2016 19:03:07 CEST Daniel Vrátil wrote:
> On Saturday, August 13, 2016 10:27:18 AM CEST Tom Warnke wrote:
> > Hi,
> 
> Hi,
> 
> > I have set up kdesrc-build and am able to build all the PIM packages.
> > However, there are two problems I was able to find a workaround for, but
> > not really solve them:
> > 
> > 1. When installing kdepim, kdesrc-build wants to put a file in /usr/share/
> > polkit-1/actions/ and fails because it doesn't have the permissions. The
> > file is kdepim/kalarm/src/org.kde.kalarmrtcwake.policy. I guess this could
> > be fixed by setting some environment variable to change the target
> > directory?
> 
> The location is dictated by the KAuth framework, which in turn gets it from
> PolkitQt. I assume you use KAuth framework provided by your distribution, so
> it sets KAUTH_POLICY_FILES_INSTALL_DIR as /usr/share/polkit-1/actions. You
> could try passing -DKAUTH_POLICY_FILES_INSTALL_DIR=/your/prefix/share/
> polkit-1/actions to cmake to try to override it, but I'm not sure if it
> will work.
> 
> Other option is to self-compile polkit-qt and kauth framework so that they
> point to your prefix by defaut.
> 
> The easiest workaround is to temporarily make /usr/share/polkit-1/actions
> writeable for all.

That is what I did so far :-) but I will try out the other options.

> > 2. kdesrc-build seems to prefer include files from devel packages that I
> > installed with my system package manager (I'm on opensuse tumbleweed) over
> > the include files it created and installed itself. If I remove the devel
> > packages, the correct include files are used. I guess that is a problem in
> > my kdesrc- build setup or again an environment variable. Maybe someone has
> 
> > an idea, so here is my kdesrc-buildrc:
> CMake is looking into LD_LIBRARY_PATH/cmake/ folder for config files, so you
> need to add your prefix to LD_LIBRARY_PATH, i.e.
> 
> export LD_LIBRARY_PATH=/your/prefix/lib(64?):$LD_LIBRARY_PATH
> 
> This way CMake will first look for packages into your prefix (i.e. for those
> you compiled yourself) and will fallback to using the ones provided by your
> distribution in /usr otherwise.
> 

If I am not wrong, CMake is not the problem in my case. It actually behaves as 
expected, i.e., finds system packages only if no self-compiled files exist. 
However, after configuring the environment with CMake, plain make takes over, 
right? And I think in this stage the lookup order is wrong. So CMake 
successfully configures my build, but when compiling, outdated include files are 
used --- which leads to compile errors.

Thanks for your help,
Tom

> Dan
> 
> > global
> > 
> >     source-dir  /data/kde/sources
> >     build-dir  /data/kde/build
> >     kdedir  /data/kde/install
> >     log-dir  /data/kde/logs
> >     
> >     git-repository-base     kde-projects kde:
> >     branch-group            kf5-qt5
> >     
> >     cmake-options -DCMAKE_BUILD_TYPE:STRING=debug
> >     
> >     cxxflags -pipe -DQT_STRICT_ITERATORS -DQURL_NO_CAST_FROM_STRING -
> > 
> > DQT_NO_HTTP -DQT_NO_FTP -Wformat -Werror=format-security
> > -Werror=return-type - Wno-variadic-macros -Wlogical-op
> > -Wmissing-include-dirs
> > 
> >     make-options -j4
> >     
> >     ignore-kde-structure    true
> >     stop-on-failure         false
> > 
> > end global
> > 
> > #include /data/kde/sources/kdesrc-build/kf5-frameworks-build-include
> > #include /data/kde/sources/kdesrc-build/kf5-workspace-build-include
> > #include /data/kde/sources/kdesrc-build/kf5-applications-build-include
> > include /data/kde/sources/kdesrc-build/kf5-kdepim-build-include
> > 
> > Thanks,
> > Tom





More information about the kde-pim mailing list