Building KDE PIM with kdesrc-build

Daniel Vrátil dvratil at kde.org
Mon Aug 15 20:20:01 BST 2016


On Saturday, August 13, 2016 9:08:57 PM CEST Tom Warnke wrote:
> 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.

Well cmake tells make where to look for the includes, so if make looks in the 
wrong place, it means CMake gave it wrong intstructions :-) You can check with 
"make VERBOSE=1"

Dan

> 
> 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


-- 
-- 
Daniel Vrátil
www.dvratil.cz | dvratil at kde.org
IRC: dvratil on Freenode (#kde, #kontact, #akonadi, #fedora-kde)



More information about the kde-pim mailing list