# KMAIL 4.7.3 startet nicht

## Dr. Ames

Hallo,

ich habe heute auf KDE 4.7.3 upgedatet und danach noch einmal den Befehl "emerge --udn world" laufen lassen. Nun versuchte ich zum ersten Mal (unter 4.6.5 hatte ich es gar nicht in Betrieb) Kmail zu starten. Es taucht auch kurz auf und stürzt dann mit folgender Meldung ab "Fehler beim Einholen der Ressourcensammlung" Übrig bleibt ein kleines "Überrestfenster" wo ich drei Eingabezeilen - Name,email Adresse vorfinde. Einträge dort verschwinden allerdings spurlos. Hat jemand hier auch dazu einen Tip? Bisher wurden meine Anfängerprobleme ja alle gelöst.

----------

## Dr. Ames

Hallo - jetzt bin ich erst einmal vollkommen überfordert. Der scheinbar zugrunde liegende Akonadi-Server funktioniert nicht. Ich hoffe ich überstrapaziere die Hilfsbereitschaft hier nicht - aber ich habe das komplette Fehlerprotokoll angehängt. Muss ich einen SQL Server installieren, oder irgendwelche Konfig-Dateien bearbeiten?

Akonadi Server Self-Test Report

===============================

Test 1:  ERROR

--------

Database driver not found.

Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.

The following drivers are installed: QSQLITE, QSQLITE3.

Make sure the required driver is installed.

File content of '/home/uwe/.config/akonadi/akonadiserverrc':

[%General]

Driver=QMYSQL

[QSQLITE3]

Name=/home/uwe/.local/share/akonadi/akonadi.db

[Debug]

Tracer=null

[QMYSQL]

StartServer=true

ServerPath=

Name=akonadi

Host=

User=

Password=

Options="UNIX_SOCKET=/home/uwe/.local/share/akonadi/socket-takeshi/mysql.socket"

[QPSQL]

Name=akonadi

Host=

User=

Password=

Port=5432

Options=

StartServer=true

Test 2:  SUCCESS

--------

Akonadi is not running as root

Details: Akonadi is not running as a root/administrator user, which is the recommended setup for a secure system.

Test 3:  ERROR

--------

MySQL server not found.

Details: You have currently configured Akonadi to use the MySQL server ''.

Make sure you have the MySQL server installed, set the correct path and ensure you have the necessary read and execution rights on the server executable. The server executable is typically called 'mysqld'; its location varies depending on the distribution.

Test 4:  ERROR

--------

Executing the MySQL server failed.

Details: Executing the MySQL server '' failed with the following error message: ''

Test 5:  SUCCESS

--------

No current MySQL error log found.

Details: The MySQL server did not report any errors during this startup. The log can be found in '/home/uwe/.local/share/akonadi/db_data/mysql.err'.

Test 6:  SUCCESS

--------

MySQL server default configuration found.

Details: The default configuration for the MySQL server was found and is readable at <a href='/usr/share/config/akonadi/mysql-global.conf'>/usr/share/config/akonadi/mysql-global.conf</a>.

File content of '/usr/share/config/akonadi/mysql-global.conf':

#

# Global Akonadi MySQL server settings,

# These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf

#

# Based on advice by Kris KÃ¶hntopp <kris@mysql.com>

#

[mysqld]

skip_grant_tables

skip_networking

# strict query parsing/interpretation

# TODO: make Akonadi work with those settings enabled

#sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat

#sql_mode=strict_trans_tables

# use InnoDB for transactions and better crash recovery

default_storage_engine=innodb

# case-insensitive table names, avoids trouble on windows

lower_case_table_names=1

character_set_server=utf8

collation_server=utf8_general_ci

table_cache=200

thread_cache_size=3

#log_bin=mysql-bin

#expire_logs_days=3

#sync_bin_log=0

# error log file name, relative to datadir

log_error=mysql.err

log_warnings=2

# log all queries, useful for debugging but generates an enormous amount of data

#log=mysql.full

# log queries slower than n seconds, log file name relative to datadir (for debugging only)

#log_slow_queries=mysql.slow

#long_query_time=1

# log queries not using indices, debug only, disable for production use

#log_queries_not_using_indexes=1

# maximum blob size

max_allowed_packet=32M

max_connections=256

# makes sense when having the same query multiple times

# makes no sense with prepared statements and/or transactions

query_cache_type=0

query_cache_size=0

innodb_file_per_table=1

innodb_log_buffer_size=1M

innodb_additional_mem_pool_size=1M

# messure database size and adjust

# SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");

innodb_buffer_pool_size=80M

# size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)

innodb_log_file_size=64M

innodb_flush_log_at_trx_commit=2

# Do not drop the connection to the DB after 8 hours of inactivity

wait_timeout=31536000

[client]

default-character-set=utf8

Test 7:  SKIP

--------

MySQL server custom configuration not available.

Details: The custom configuration for the MySQL server was not found but is optional.

Test 8:  SUCCESS

--------

MySQL server configuration is usable.

Details: The MySQL server configuration was found at <a href='/home/uwe/.local/share/akonadi/mysql.conf'>/home/uwe/.local/share/akonadi/mysql.conf</a> and is readable.

File content of '/home/uwe/.local/share/akonadi/mysql.conf':

#

# Global Akonadi MySQL server settings,

# These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf

#

# Based on advice by Kris KÃ¶hntopp <kris@mysql.com>

#

[mysqld]

skip_grant_tables

skip_networking

# strict query parsing/interpretation

# TODO: make Akonadi work with those settings enabled

#sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat

#sql_mode=strict_trans_tables

# use InnoDB for transactions and better crash recovery

default_storage_engine=innodb

# case-insensitive table names, avoids trouble on windows

lower_case_table_names=1

character_set_server=utf8

collation_server=utf8_general_ci

table_cache=200

thread_cache_size=3

#log_bin=mysql-bin

#expire_logs_days=3

#sync_bin_log=0

# error log file name, relative to datadir

log_error=mysql.err

log_warnings=2

# log all queries, useful for debugging but generates an enormous amount of data

#log=mysql.full

# log queries slower than n seconds, log file name relative to datadir (for debugging only)

#log_slow_queries=mysql.slow

#long_query_time=1

# log queries not using indices, debug only, disable for production use

#log_queries_not_using_indexes=1

# maximum blob size

max_allowed_packet=32M

max_connections=256

# makes sense when having the same query multiple times

# makes no sense with prepared statements and/or transactions

query_cache_type=0

query_cache_size=0

innodb_file_per_table=1

innodb_log_buffer_size=1M

innodb_additional_mem_pool_size=1M

# messure database size and adjust

# SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");

innodb_buffer_pool_size=80M

# size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)

innodb_log_file_size=64M

innodb_flush_log_at_trx_commit=2

# Do not drop the connection to the DB after 8 hours of inactivity

wait_timeout=31536000

[client]

default-character-set=utf8

Test 9:  SUCCESS

--------

akonadictl found and usable

Details: The program '/usr/bin/akonadictl' to control the Akonadi server was found and could be executed successfully.

Result:

Akonadi 1.6.2

Test 10:  ERROR

--------

Akonadi control process not registered at D-Bus.

Details: The Akonadi control process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 11:  ERROR

--------

Akonadi server process not registered at D-Bus.

Details: The Akonadi server process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 12:  SUCCESS

--------

Nepomuk search service registered at D-Bus.

Details: The Nepomuk search service is registered at D-Bus which typically indicates it is operational.

Test 13:  SUCCESS

--------

Nepomuk search service uses an appropriate backend. 

Details: The Nepomuk search service uses one of the recommended backends.

Test 14:  SKIP

--------

Protocol version check not possible.

Details: Without a connection to the server it is not possible to check if the protocol version meets the requirements.

Test 15:  ERROR

--------

No resource agents found.

Details: No resource agents have been found, Akonadi is not usable without at least one. This usually means that no resource agents are installed or that there is a setup problem. The following paths have been searched: '/usr/share/akonadi/agents'. The XDG_DATA_DIRS environment variable is set to '/usr/local/share:/usr/share'; make sure this includes all paths where Akonadi agents are installed.

Directory listing of '/usr/share/akonadi/agents':

akonotesresource.desktop

birthdaysresource.desktop

calendarsearchagent.desktop

contactsresource.desktop

davgroupwareresource.desktop

icalresource.desktop

imapresource.desktop

invitationsagent.desktop

kabcresource.desktop

kcalresource.desktop

kdeaccountsresource.desktop

knutresource.desktop

kolabproxyresource.desktop

localbookmarksresource.desktop

maildirresource.desktop

maildispatcheragent.desktop

mboxresource.desktop

microblog.desktop

mixedmaildirresource.desktop

mtdummyresource.desktop

nepomukcalendarfeeder.desktop

nepomukcontactfeeder.desktop

nepomukemailfeeder.desktop

nepomuktagresource.desktop

nntpresource.desktop

notesresource.desktop

openxchangeresource.desktop

pop3resource.desktop

vcarddirresource.desktop

vcardresource.desktop

Environment variable XDG_DATA_DIRS is set to '/usr/local/share:/usr/share'

Test 16:  ERROR

--------

Current Akonadi server error log found.

Details: The Akonadi server reported errors during its current startup. The log can be found in <a href='/home/uwe/.local/share/akonadi/akonadiserver.error'>/home/uwe/.local/share/akonadi/akonadiserver.error</a>.

File content of '/home/uwe/.local/share/akonadi/akonadiserver.error':

Could not start database server! 

executable: "" 

arguments: ("--defaults-file=/home/uwe/.local/share/akonadi//mysql.conf", "--datadir=/home/uwe/.local/share/akonadi/db_data/", "--socket=/home/uwe/.local/share/akonadi/socket-takeshi/mysql.socket") 

process error: "No such file or directory" 

"[

0: akonadiserver(_Z11akBacktracev+0x37) [0x44e3e7]

1: akonadiserver() [0x44e7e2]

2: /lib64/libc.so.6(+0x35b80) [0x7f749b254b80]

3: /lib64/libc.so.6(gsignal+0x35) [0x7f749b254b05]

4: /lib64/libc.so.6(abort+0x186) [0x7f749b255f86]

5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7f749cf0b874]

6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x44ff4b]

7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x77) [0x7f749cf99277]

8: /usr/lib64/qt4/libQtCore.so.4(+0x106666) [0x7f749cfa1666]

9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3b) [0x7f749cfaa52b]

10: akonadiserver(_ZN6QDebugD1Ev+0x4b) [0x44a23b]

11: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1127) [0x4c94c7]

12: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xd8) [0x4503c8]

13: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xc6) [0x4519d6]

14: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x4a) [0x452eea]

15: akonadiserver(main+0x21f) [0x44962f]

16: /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f749b24109d]

17: akonadiserver() [0x449319]

]

" 

Test 17:  ERROR

--------

Previous Akonadi server error log found.

Details: The Akonadi server reported errors during its previous startup. The log can be found in <a href='/home/uwe/.local/share/akonadi/akonadiserver.error.old'>/home/uwe/.local/share/akonadi/akonadiserver.error.old</a>.

File content of '/home/uwe/.local/share/akonadi/akonadiserver.error.old':

Could not start database server! 

executable: "" 

arguments: ("--defaults-file=/home/uwe/.local/share/akonadi//mysql.conf", "--datadir=/home/uwe/.local/share/akonadi/db_data/", "--socket=/home/uwe/.local/share/akonadi/socket-takeshi/mysql.socket") 

process error: "No such file or directory" 

"[

0: akonadiserver(_Z11akBacktracev+0x37) [0x44e3e7]

1: akonadiserver() [0x44e7e2]

2: /lib64/libc.so.6(+0x35b80) [0x7f653bae2b80]

3: /lib64/libc.so.6(gsignal+0x35) [0x7f653bae2b05]

4: /lib64/libc.so.6(abort+0x186) [0x7f653bae3f86]

5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7f653d799874]

6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x44ff4b]

7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x77) [0x7f653d827277]

8: /usr/lib64/qt4/libQtCore.so.4(+0x106666) [0x7f653d82f666]

9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3b) [0x7f653d83852b]

10: akonadiserver(_ZN6QDebugD1Ev+0x4b) [0x44a23b]

11: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1127) [0x4c94c7]

12: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xd8) [0x4503c8]

13: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xc6) [0x4519d6]

14: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x4a) [0x452eea]

15: akonadiserver(main+0x21f) [0x44962f]

16: /lib64/libc.so.6(__libc_start_main+0xfd) [0x7f653bacf09d]

17: akonadiserver() [0x449319]

]

" 

Test 18:  SUCCESS

--------

No current Akonadi control error log found.

Details: The Akonadi control process did not report any errors during its current startup.

Test 19:  SUCCESS

--------

No previous Akonadi control error log found.

Details: The Akonadi control process did not report any errors during its previous startup.

----------

## franzf

 *Dr. Ames wrote:*   

> Ich hoffe ich überstrapaziere die Hilfsbereitschaft hier nicht - aber ich habe das komplette Fehlerprotokoll angehängt.

 

Da überstrapazierst du nicht - das ist oft die einzige Möglichkeit, einem Fehler auf die Schliche zu kommen.

```
Test 1:  ERROR

--------

Database driver not found.

Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.

The following drivers are installed: QSQLITE, QSQLITE3.

Make sure the required driver is installed.

File content of '/home/uwe/.config/akonadi/akonadiserverrc':

[%General]

Driver=QMYSQL

...
```

Da ist das Problem. Die config sagt "ich starte mit MySql", nur existiert leider kein mysql-Treiber  :Very Happy: 

Entweder stellst du in General den Driver auf QSQLITE3, oder du installierst akonadi-server (+qt-sql) mit mysql-Support (USE=mysql in beiden Paketen anmachen und emerge -uDN world)

Hintergrund für den Fehler ist wohl, dass die kde-Entwickler mysql als Default ausgewählt haben (drum stehts auch in der Default-Config), sqlite ist nach deren Aussage problematisch.

Die Gentoo-Devs sagen aber, die Probleme in sqlite sind behoben, und wählen daher das als Default (kleiner, leichter, schneller zu kompilieren, ...).

Ich kann sagen, dass mit großen Ordnern hier mysql nen Sprung schneller läuft als sqlite, und tatsächlich scheint es weniger zu zicken :/

----------

## Dr. Ames

Hallo - vielen Dank für die Antwort. Bevor ich heute morgen die Wohnung verließ hatte ich die Antwort noch nicht gesehen und "emerge mysql" ausgeführt. Wie gehe ich jetzt am Besten vor? Ich möchte nicht zu viel Unnützes auf meinem System haben. Soll ich "mysql" unmergen ( mit emerge --unmerge mysql)und die "sqllight" in die Konfig-Datei eintragen oder soll ich die "große" SQL Version konfigurieren - und wenn ja wie?

Als Hinweis habe ich folgendes nach der Installation entdeckt: "emerge --config =dev-db/mysql-5.1.56" 

vielen Dank

----------

## franzf

"Unnötig" ist mysql nicht. Spätestens wenn du amarok verwenden willst, wirst du dazu gezwungen.

Und das "emerge --config" setzt einen eigenen, "globalen" mysql-server auf. akonadi startet aber selber eine eigene Instanz, ein laufender mysql-server (also /etc/init.d/mysql start) ist nicht nötig (wenngleich natürlich möglich).

Das Problem:

* Qt braucht einen Treiber, mit dem er mysql einbinden kann (Qt abstrahiert hier, sodass man die Treiber austauschen kann, ohne das Programm neu schreiben zu müssen) Dazu musst du USE=mysql in x11-libs/qt-sql anmachen.

* akonadi hat für mysql wiederum ein eigenes Backend. Das bekommst du, wenn du USE=mysql in app-office/akonadi-server anmachst.

Du kannst als schnelle Lösung (um zu sehen, ob es überhaupt geht) QSQLITE3 in die ~/.config/akonadi/akonadiserverrc eintragen (General/Driver). Wenns zu langsam ist, kannst du ja nach MySQL wechseln. Ein späteres Konvertieren (sprich: Daten mitnehmen) wird aber schwer :/ (Gibts nichts automtisches).

Such dir einen Weg, und berichte dann später, wie es gelaufen ist (oder läuft  :Wink: )

----------

## Dr. Ames

Noch einmal vielen Dank,

ich habe erst einmal den Weg über den Eintrag mit "QAQLITE3" gewählt - der Akonadi Server ließ sich danach sofort starten. Aber - Kmail läuft immer noch nicht. Es erscheint wieder der Fehler mit den Ressourcen, den ich zu Beginn schilderte. Ich habe dann über die "Akonadi" Konfiguration ein IMAP e-mail Konto erfolgreich einrichten können. Dennoch läßt sich Kmail weiterhin nicht starten. Hast Du vielleicht noch eine Idee?

----------

## Dr. Ames

Ahh - jetzt habe ich die Lösung (gefunden). In einem Slackware Forum "http://www.linuxquestions.org/questions/slackware-14/kmail-crashing-in-slackware-current-with-kde-4-7-3-a-913087/" hat "Alien Bob" folgende Handlungsanweisung ausgegeben - und sie funktioniert.

(1) Launch Akonadi Console (for instance by pressing "Alt-F2" to open krunner and typing "akonadiconsole")

(2) In the "Agents" tab, select the "Local Folders" resource

(3) Select "Configure > Configure natively...".

(4) If an error appears indicating that "the current folder does not exist" don't worry. Select a new directory which does not yet exist, for instance: /home/<USERNAME>/.kde/share/apps/kmail/mail/

----------

