Onboarding progress report

Daniel Vrátil dvratil at kde.org
Mon Jun 22 09:05:25 BST 2020


Hi Ihor,

On Sunday, 21 June 2020 22:33:11 CEST Ihor Antonov wrote:
> Hey guys,
> 
> I wanted to share my progress since my last email.
> 
> I spent most of my free time this week by trying to go through
> https://community.kde.org/KDE_PIM/Development
> 
> It was an iterative process, I ran into a lot of issues. I think some of my
> experience may be used to improve documentation, or file good bug reports.
> (And with that I might need your help)

Big thanks for sharing your experience (and for patiently solving all the 
issues :))

> Building Qt
> ===========
> 
> First big speed bump was the fact that qt on my system (Debian Sid) was too
> old (5.12). Intentionally decided to go with a non-popular choice of distro
> for KDE development for multiple reasons, which includes laziness, lack of
> time to install a different distro, lack of hardware to run that distro on.
> But the main reason was that only by choosing the hard way a new bugs can be
> discovered and fixed.
> 
> So I had to compile qt with kdesrcbuild a few times. It appears that qt5-set
> from qt5-build-include is missing a few things:
> 
> - missing qtspeech (required by kpimtextedit, dependecy is not optional
> despite docs say it is)

Looks like ths has already been fixed (https://commits.kde.org/kdesrc-build/
9cebae281ae674fff275298dbbb8e0c167842de9)

> - missing qtwebengine (required by a lot of things, and if you have decided
> to building your own Qt chances are that you might need it)

QtWebEngine needs to be specified manually (kdesrc-build qtwebengine), because 
it's a huuuuge beast and some people tend to avoid it :)

> - missing qtnetworkauth (required by kdepim-runtime)

Also fixed alongside qtspeech.

> Another couple of annoying things is that I discovered with kdesrc-build:
> 
> - if I add more modules qt to qt5-set kdesrc-build does not actually build
> them until I purge build directory and source directory

Maybe try using --reconfigure:

`kdesrc-build --reconfigure qt5-set`

(not sure if that helps in this case, though, I don't build Qt with kdesrc-
build), probably something to take up with kdesrc-build devs.

> 
> - kdesrc-build silently proceeds when qt module fails to configure. In my
> specific case qtwebengine didn't build because of some missing system
> library, but kdesrc-build was saying that it had built it.
> This one was the most frustrating one.

That is a problem, please report a bug to the kdesrc-build team.

> 
> - similar issue was with qtbase, required SQL drivers for mysql/postgresql
> were not built because of missing libraries, but no errors were shown
> anywhere, which I discovered only when I tried to run Akonadi.

The SQL drivers in Qt are optional dependencies in Qt and Akonadi, so it 
doesn't fail. 

At least in Akonadi we could fail configuring if Qt is not built with SQL 
driver for the default configured SQL backend (e.g. if you configure Akonadi to 
use MySQL by default (which is the default configuration), it should fail if Qt 
is not built with QtMySQL support)...created a Phab task for it: 

https://phabricator.kde.org/T13308

> 
> 
> Building KDE-PIM
> ================
> 
> I ran into some outdated system dependencies (libgrantlee5-dev), lucky for
> me there was an updated version in experimental repository.

You can build grantlee with kdesrc-build as well (`kdesrc-build grantlee`)

> 
> For the most part kde stuff was built without problems. The only annoying
> thing was that kde-pim pulls in bluez-qt, which has nothing to do with pim.
> Someone on irc explained it that some project's metadata depends on
> kf5unmbrella.

Hmm, indeed looks like kf5umbrella gets pulled for almost everything. I think 
we should look into that in the dependency data...

> Bluez-qt fails to install (permission denied) since it wants to install udev
> rules to my system location. Do not run kdesrc-build with root!

There's very little we can do about this :(

> 
> 
> Running KDE-PIM
> ================
> 
> I had to make modifications to prefix.sh to run things I've built. Existing
> documentation does not take into account that if you build your own QT you
> need to update LD_LIBRARY_PATH as well as other QT-related paths. Where can
> I send a PR to update https://community.kde.org/KDE_PIM/Development ?

It's a wiki, you can just edit it. If you want a review, you can send it to 
the ML first (or modify the wiki and ask us to check it).

> Lastly, devel instance of Akonadi clashes with default one. My dev KMail was
> crashing because it was failing to lock Local Folders. This error went away
> when I stopped default akonadi instance.

Do you actually run 

AKONADI_INSTANCE=devel kmail

? The lock mentioned should be a DBus lock, so it's possible there's a 
problem, despite our best efforts, with some code not correctly adjusting the 
DBus name it looks for when running with non-default (non-empty) 
AKONADI_INSTNACE env variable.

Do you see anything useful in terminal logs?

> 
> Apparently the location of Local Folders is hardcoded, or is something else
> is going on?
>
> I might have missed a few things but this is the bulk of it.
> Any comments and suggestions are highly appreciated.

Thanks again, hope this did not discourage you too much :)

> 
> Thanks


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

GPG Key: 0x4D69557AECB13683
Fingerprint: 0ABD FA55 A4E6 BEA9 9A83 EA97 4D69 557A ECB1 3683
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20200622/259d84ad/attachment.sig>


More information about the kde-pim mailing list