Can't start merkuro-calendar nor use korganizer. Error with org.kde.pim.akonadiserver and mysqld

Hello.

Korganizer failed to start personal information management service, displaying an image of “A required background service is not operational.” In the terminal, it tries to start akonadiserver.

Full output:

beginResetModel called on Akonadi::TodoModel(0x56281b9e09b0, name = “TodoModel”) without calling endResetModel first
beginResetModel called on QIdentityProxyModel(0x56281b9b5260) without calling endResetModel first
beginResetModel called on TodoViewSortFilterProxyModel(0x56281b807d20) without calling endResetModel first
endResetModel called on Akonadi::TodoModel(0x56281b9e09b0, name = “TodoModel”) without calling beginResetModel first
endResetModel called on QIdentityProxyModel(0x56281b9b5260) without calling beginResetModel first
endResetModel called on TodoViewSortFilterProxyModel(0x56281b807d20) without calling beginResetModel first
org.kde.pim.pimcommonactivities: Plasma activities is not running:  1
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
qt.qpa.services: Failed to register with host portal QDBusError(“org.freedesktop.portal.Error.Failed”, “Could not register app ID: App info not found for ‘org.kde.akonadi_control’”)
org.kde.pim.akonadiserver: Starting up the Akonadi Server…
org.kde.pim.akonadiserver: Failed to detect mysqld version!
org.kde.pim.akonadiserver: database server stopped unexpectedly
org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection!
org.kde.pim.akonadiserver: executable: “/usr/bin/mariadb”
org.kde.pim.akonadiserver: arguments: QList(“–defaults-file=/home/jc/.local/share/akonadi/mysql.conf”, “–datadir=/home/jc/.local/share/akonadi/db_data/”, “–socket=/run/user/1000/akonadi/mysql.socket”, “–pid-file=/run/user/1000/akonadi/mysql.pid”)
org.kde.pim.akonadiserver: stdout: “”
org.kde.pim.akonadiserver: stderr: “/usr/bin/mariadb: unknown variable ‘datadir=/home/jc/.local/share/akonadi/db_data/’\\n/usr/bin/mariadb: unknown variable ‘pid-file=/run/user/1000/akonadi/mysql.pid’\\n”
org.kde.pim.akonadiserver: exit code: 7
org.kde.pim.akonadiserver: process error: “Unknown error”
org.kde.pim.akonadiserver: See “/home/jc/.local/share/akonadi/db_data/mysql.err” for more details
org.kde.pim.akonadiserver: Shutting down AkonadiServer…
org.kde.pim.akonadicontrol: Application ‘/usr/bin/akonadiserver’ exited normally…
org.kde.pim.akonadicalendar: Search failed:  “”
org.kde.pim.akonadicore: Failed to fetch tags:  “”
org.kde.pim.akonadicore: Job error:  “” for collection: QList()

I tried manually starting akonadiserver with “akonadictl start.” I got the familiar error:

org.kde.pim.akonadictl: Starting Akonadi Server...
org.kde.pim.akonadictl:    done.

$ Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for 'org.kde.akonadi_control'")
org.kde.pim.akonadiserver: Starting up the Akonadi Server...
org.kde.pim.akonadiserver: Failed to detect mysqld version!
org.kde.pim.akonadiserver: database server stopped unexpectedly
org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection!
org.kde.pim.akonadiserver: executable: "/usr/bin/mariadb"
org.kde.pim.akonadiserver: arguments: QList("--defaults-file=/home/jc/.local/share/akonadi/mysql.conf", "--datadir=/home/jc/.local/share/akonadi/db_data/", "--socket=/run/user/1000/akonadi/mysql.socket", "--pid-file=/run/user/1000/akonadi/mysql.pid")
org.kde.pim.akonadiserver: stdout: ""
org.kde.pim.akonadiserver: stderr: "/usr/bin/mariadb: unknown variable 'datadir=/home/jc/.local/share/akonadi/db_data/'\n/usr/bin/mariadb: unknown variable 'pid-file=/run/user/1000/akonadi/mysql.pid'\n"
org.kde.pim.akonadiserver: exit code: 7
org.kde.pim.akonadiserver: process error: "Unknown error"
org.kde.pim.akonadiserver: See "/home/jc/.local/share/akonadi/db_data/mysql.err" for more details
org.kde.pim.akonadiserver: Shutting down AkonadiServer...
org.kde.pim.akonadicontrol: Application '/usr/bin/akonadiserver' exited normally...

I am on Arch Linux, which uses mariadb’s implementation of mysql by default. The output above says that it failed to detect mysqld version. However, I was able to successfully run “mysqld --version” in the terminal:

mysqld --version
mysqld: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadbd' instead
mysqld  Ver 12.1.2-MariaDB for Linux on x86_64 (Arch Linux)

Sooo… Where do I go from here? What do I do? How do I generally go about solving these types of problems?

did you go see?

That’s weird. “/home/jc/.local/share/akonadi/db_data/mysql.err” does not exist.

cat: /home/jc/.local/share/akonadi/db_data/mysql.err: No such file or directory

There exist an completely empty file “/home/jc/.local/share/akonadi/db_data/mysql.err.old”

What’s also weird is that when I created the “mysql.err” file, the file would disappear after running “akonadictl start” again.

Small update: I typed qdbus6 into terminal, or precisely, this command:

qdbus6 | grep org.kde.a

Output:

 org.kde.plasma.browser_integration
 org.kde.dolphin-7031
 org.kde.kglobalaccel
 org.kde.baloo
 org.kde.ksecretd
 org.kde.secretservicecompat
 org.kde.GtkConfig
 org.kde.StatusNotifierWatcher
 org.kde.Wacom
 org.kde.kappmenu
 org.kde.kded6
 org.kde.keyboard
 org.kde.plasmanetworkmanagement
 org.kde.plasmashell.accentColor
 org.kde.touchpad
 org.kde.ksmserver
 org.kde.screensaver
 org.kde.KWin
 org.kde.KWin.Effect.WindowView1
 org.kde.KWin.HighlightWindow
 org.kde.KWin.NightLight
 org.kde.KWin.ScreenShot2
 org.kde.JobViewServer
 org.kde.StatusNotifierHost-1945
 org.kde.klipper
 org.kde.kuiserver
 org.kde.plasmashell
 org.kde.ActivityManager
 org.kde.runners.activities
 org.kde.NightTime
 org.kde.gmenudbusmenuproxy
 org.kde.xembedsniproxy
 org.kde.kaccess
 org.kde.polkit-kde-authentication-agent-1
 org.kde.ScreenBrightness
 org.kde.Solid.PowerManagement
 org.kde.Solid.PowerManagement.PolicyAgent
 org.kde.org_kde_powerdevil
 org.kde.plasma.browser.integration
 org.kde.KScreen
 org.kde.kdeconnect
 org.kde.kdeconnect.daemon
 org.kde.kclockd
 org.kde.discover.notifier
 org.kde.kmix
 org.kde.kimpanel.inputmethod
 org.kde.kalendarac
 org.kde.kwalletd
 org.kde.kwalletd5
 org.kde.kwalletd6
 org.kde.impanel

Guess what is not in there? “org.kde.akonadi_control”, the exact thing whose app info could not be found. I still don’t know where to go from here, but a clue is a clue.

Nevermind. I ran the same command on a debian-based distro where Akonadi server does work, and qdbus did not output “org.kde.akonadi_control”. This is a false clue.

SOLVED!

Props to this user Paul_Worrall’s post: (KDE don’t let me paste links here.)

Basically, the file ~/.config/akonadi/akonadiserverrc contains the line:

ServerPath=/usr/bin/mariadb

Change it to

ServerPath=/usr/bin/mariadbd

And then Akonadi server would work. With that, now both merkuro-calendar and korganizer work.

1 Like