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