[Akonadi] [Bug 367075] New: Initial database creation fails.

Nathan via KDE Bugzilla bugzilla_noreply at kde.org
Wed Aug 17 08:07:27 BST 2016


https://bugs.kde.org/show_bug.cgi?id=367075

            Bug ID: 367075
           Summary: Initial database creation fails.
           Product: Akonadi
           Version: 16.04
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: server
          Assignee: kdepim-bugs at kde.org
          Reporter: nemasu at gmail.com

Akonadi fails to create database on first start.
MySQL back end is MariaDB.

Reproducible: Always

Steps to Reproduce:
1. Delete all akonadi config/data files in home directory.
2. Start Akonadi Console
3. Start/Restart Server

Actual Results:  
Akonadi server fails to start.

Errors:
[Warning] Failed to open optimizer cost constant tables
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user'
doesn't exist
[ERROR] Aborting


Expected Results:  
Akonadi server starts successfully. 

I traced down the problem to mysql_install_db failing, turns out it needs an
extra parameter, "--basedir=/usr" to find helper files.

It starts normally after applying this patch I made (the extra search path is
probably not relevant) :

diff -crB akonadi-16.04.3-orig/src/server/storage/dbconfigmysql.cpp
akonadi-16.04.3/src/server/storage/dbconfigmysql.cpp
*** akonadi-16.04.3-orig/src/server/storage/dbconfigmysql.cpp    2016-08-17
13:48:59.195381646 +0900
--- akonadi-16.04.3/src/server/storage/dbconfigmysql.cpp    2016-08-17
13:53:12.706308135 +0900
***************
*** 78,83 ****
--- 78,84 ----
  #endif
      const QStringList mysqldSearchPath = QStringList()
                                           << QStringLiteral("/usr/sbin")
+                                          << QStringLiteral("/usr/bin")
                                           << QStringLiteral("/usr/local/sbin")
                                           <<
QStringLiteral("/usr/local/libexec")
                                           << QStringLiteral("/usr/libexec")
***************
*** 501,506 ****
--- 502,508 ----
      return 0 == execute(mMysqlInstallDbPath,
                          { QStringLiteral("--defaults-file=%1").arg(confFile),
                            QStringLiteral("--force"),
+                           QStringLiteral("--basedir=/usr"),
                            QStringLiteral("--datadir=%1/").arg(dataDir) });
  }

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list