Archive:Http://userbase.kde.org/Akonadi 4.4/Troubleshooting/de: Difference between revisions

From KDE Wiki Sandbox
No edit summary
(Updating to match new version of source page)
Line 3: Line 3:
==Einführung==
==Einführung==


<span class="mw-translate-fuzzy">
Diese Seite hilft vor allem bei der Fehlersuche die Akonadi betrifft, da es unvermeidliche Störungen in der frühen Phase der Migration gibt. Für viele Menschen wird es die ersten Anzeichen von Akonadi Aktivitäten in KDE SC 4.4 geben und viele werden davon verwirrt werden. Für eine kurze Beschreibung des Zwecks von Akonadi sehen Sie sich diesen '''[[Glossary/de#Akonadi|Glossareintrag]]''' an. Außerdem finden Sie nützliche Links zu weiteren Informationen. Nachdem unvermeidlichen Anlaufschwierigkeiten vorbei sind, wird Akonadi ein Kraftwerk sein, das von vielen Anwendungen genutzt werden kann.
Diese Seite hilft vor allem bei der Fehlersuche die Akonadi betrifft, da es unvermeidliche Störungen in der frühen Phase der Migration gibt. Für viele Menschen wird es die ersten Anzeichen von Akonadi Aktivitäten in KDE SC 4.4 geben und viele werden davon verwirrt werden. Für eine kurze Beschreibung des Zwecks von Akonadi sehen Sie sich diesen '''[[Glossary/de#Akonadi|Glossareintrag]]''' an. Außerdem finden Sie nützliche Links zu weiteren Informationen. Nachdem unvermeidlichen Anlaufschwierigkeiten vorbei sind, wird Akonadi ein Kraftwerk sein, das von vielen Anwendungen genutzt werden kann.
</span>


===Die Struktur verstehen===
===Die Struktur verstehen===


<span class="mw-translate-fuzzy">
Sie können natürlich auch einfach Kontact verwenden, um ihr Adressbuch zu verwalten, aber wenn Sie ein Backup-System verwenden, möchten Sie wissen, wo ihre Daten sind und wie diese gehandhabt werden. Die Seite '''[[Akonadi_and_AddressBook/de|Akonadi und Adressbuch]]''' hilft hier weiter.
Sie können natürlich auch einfach Kontact verwenden, um ihr Adressbuch zu verwalten, aber wenn Sie ein Backup-System verwenden, möchten Sie wissen, wo ihre Daten sind und wie diese gehandhabt werden. Die Seite '''[[Akonadi_and_AddressBook/de|Akonadi und Adressbuch]]''' hilft hier weiter.
</span>


==Tipps zur Problemlösung==
==Tipps zur Problemlösung==


<span class="mw-translate-fuzzy">
* Bei der Meldung von Problemen mit dem Akonadi-Server, fügen Sie immer den umfassenden Selbsttest-Bericht bei. Dieser Bericht kann von dem Selbstest-Dialog entnommen werden, der immer dann angezeigt wird, wenn der Akonadi-Server nicht erfolgreich gestartet werden konnte. Sie können den Selbsttest in dem Kcmmodul finden, dass über 'kcmshell4 kcm_akonadi' erreichbar ist.
* Bei der Meldung von Problemen mit dem Akonadi-Server, fügen Sie immer den umfassenden Selbsttest-Bericht bei. Dieser Bericht kann von dem Selbstest-Dialog entnommen werden, der immer dann angezeigt wird, wenn der Akonadi-Server nicht erfolgreich gestartet werden konnte. Sie können den Selbsttest in dem Kcmmodul finden, dass über 'kcmshell4 kcm_akonadi' erreichbar ist.
</span>


<span class="mw-translate-fuzzy">
* Das Starten des Akonadi-Servers über die Kommandozeile kann weitere hilfreiche Informationen geben. Dies können Sie durch Ausführen von '''akonadictl start''' in eine Konsole erreichen. Analog mit '''akonadictl stop''' kann der Akonadi-Server gestoppt werden. '''akonadictl status''' gibt weitere hilfreiche Informationen.
* Das Starten des Akonadi-Servers über die Kommandozeile kann weitere hilfreiche Informationen geben. Dies können Sie durch Ausführen von '''akonadictl start''' in eine Konsole erreichen. Analog mit '''akonadictl stop''' kann der Akonadi-Server gestoppt werden. '''akonadictl status''' gibt weitere hilfreiche Informationen.
</span>


==Allgemeine Probleme==
==Allgemeine Probleme==
Line 19: Line 27:
===Kontact startet nicht - und gibt auch keine weiteren Informationen===
===Kontact startet nicht - und gibt auch keine weiteren Informationen===


<span class="mw-translate-fuzzy">
Wenn Kontact nicht startet und Sie auch keine Fehlermeldungen sehen, überprüfen Sie, ob Akonadi läuft. Akonadi sollte auf Anforderung starten. Wenn dies bei ihnen nicht der Fall ist, müssen Sie es starten bevor Kontact gestartet wird, falls Sie irgendwelche migrierten Ressourcen haben (wahrscheinlich KAdressBook). Verwenden Sie das Akonadi-Miniprogramm (starten Sie dieses durch die Eingabe 'akonadi' in KRunner) oder geben Sie die Befehle in die Konsole ein.
Wenn Kontact nicht startet und Sie auch keine Fehlermeldungen sehen, überprüfen Sie, ob Akonadi läuft. Akonadi sollte auf Anforderung starten. Wenn dies bei ihnen nicht der Fall ist, müssen Sie es starten bevor Kontact gestartet wird, falls Sie irgendwelche migrierten Ressourcen haben (wahrscheinlich KAdressBook). Verwenden Sie das Akonadi-Miniprogramm (starten Sie dieses durch die Eingabe 'akonadi' in KRunner) oder geben Sie die Befehle in die Konsole ein.
</span>


===Kontact staret nicht - Version II===
===Kontact staret nicht - Version II===


<span class="mw-translate-fuzzy">
Kontact ist dafür bekannt, das es nach einem Update Probleme bereitet. Wenn dies geschieht, starten Sie KMail, KOrganizer oder eine der sonstigen Anwendungen aus KRunner (oder die Konsole). Die Chancen sind hoch, dass diese als eigenständige Anwendungen arbeiten, während Sie weiter nachforschen können, was schief gegangen ist. Dies betrifft hauptsächlich die Version 4.4.0.
Kontact ist dafür bekannt, das es nach einem Update Probleme bereitet. Wenn dies geschieht, starten Sie KMail, KOrganizer oder eine der sonstigen Anwendungen aus KRunner (oder die Konsole). Die Chancen sind hoch, dass diese als eigenständige Anwendungen arbeiten, während Sie weiter nachforschen können, was schief gegangen ist. Dies betrifft hauptsächlich die Version 4.4.0.
</span>


===Verzeichnis nicht gefunden: "/Local"===
===Verzeichnis nicht gefunden: "/Local"===


<span class="mw-translate-fuzzy">
Einige Leute haben diesen Fehler gemeldet, wenn Kontact nicht startet. Es scheint einen Bug in der Migration zu geben, der KMail anweist nach lokalen E-Mails in dem Verzeichnis ~/.local/share/Local zu suchen. Einem Verzeichnis das noch nicht eingerichtet ist. Die Lösung dafür ist, es nicht zu versuchen es zu beheben, sondern, wenn KMail/Kontact geschlossen sind, das Akonadi Kontrollmodul zu öffnen (über KRunner, Alt-F2 oder 'akonadiconsole' in der Konsole) und entfernen Sie die Ressource die für die lokale Mail zuständig ist. Jetzt sollten Sie feststellen, dass Sie Kontact oder KMail starten können und eine neue Ressource erstellt wird die auf ~/.local/share/local-mail zeigt.
Einige Leute haben diesen Fehler gemeldet, wenn Kontact nicht startet. Es scheint einen Bug in der Migration zu geben, der KMail anweist nach lokalen E-Mails in dem Verzeichnis ~/.local/share/Local zu suchen. Einem Verzeichnis das noch nicht eingerichtet ist. Die Lösung dafür ist, es nicht zu versuchen es zu beheben, sondern, wenn KMail/Kontact geschlossen sind, das Akonadi Kontrollmodul zu öffnen (über KRunner, Alt-F2 oder 'akonadiconsole' in der Konsole) und entfernen Sie die Ressource die für die lokale Mail zuständig ist. Jetzt sollten Sie feststellen, dass Sie Kontact oder KMail starten können und eine neue Ressource erstellt wird die auf ~/.local/share/local-mail zeigt.
</span>


===Es gibt andere neue Verzeichnisse unter ~/.local/share/===
===Es gibt andere neue Verzeichnisse unter ~/.local/share/===
Line 36: Line 50:




<span class="mw-translate-fuzzy">
Die akonadi_maildir_resource wird automatisch durch den akonadi_maildispatcher_agent erstellt. Letztere wird immer zusammen mit dem Akonadi-Server gestartet, da sie grundlegende Funktionalitäten zur Verfügung stellt (z.B. Senden von Nachrichten) die von allen Mail-Anwendungen verwendet werden die auf Akonadi basieren (werden). Daher ist es in Ordnung das diese beiden laufen, als Anwender können Sie sie einfach ignorieren.
Die akonadi_maildir_resource wird automatisch durch den akonadi_maildispatcher_agent erstellt. Letztere wird immer zusammen mit dem Akonadi-Server gestartet, da sie grundlegende Funktionalitäten zur Verfügung stellt (z.B. Senden von Nachrichten) die von allen Mail-Anwendungen verwendet werden die auf Akonadi basieren (werden). Daher ist es in Ordnung das diese beiden laufen, als Anwender können Sie sie einfach ignorieren.
Die automatisch generierte akonadi_maildir_resource wird immer auf ~/.local/share/local-mail/ verweisen, welches ihr 'Lokaler Ordner' Konto ist, wo Ihre lokalen Ordner und E-Mails gespeichert werden.
Die automatisch generierte akonadi_maildir_resource wird immer auf ~/.local/share/local-mail/ verweisen, welches ihr 'Lokaler Ordner' Konto ist, wo Ihre lokalen Ordner und E-Mails gespeichert werden.
</span>


<span class="mw-translate-fuzzy">
Zu diesem Zeitpunkt, in KDE SC 4.4, ist die E-Mail noch nicht migriert.
Zu diesem Zeitpunkt, in KDE SC 4.4, ist die E-Mail noch nicht migriert.
</span>


===Nepomuk Indexing Agents wurden deaktiviert===
===Nepomuk Indexing Agents wurden deaktiviert===


<span class="mw-translate-fuzzy">
Kontact arbeitet jetzt, aber Sie sehen immer diesen Hinweis:
Kontact arbeitet jetzt, aber Sie sehen immer diesen Hinweis:
</span>


[[image:NepomukError.png|418px|center]]
[[image:NepomukError.png|418px|center]]


<span class="mw-translate-fuzzy">
Der häufigste Grund für diesen Hinweis ist, dass Nepomuk in den Systemeinstellungen deaktiviert ist. Bitte versuchen Sie es in Systemeinstellungen -> Erweitert -> Desktopsuche zu aktivieren in dem Sie 'Nepomuk-Semantik-Dienste aktivieren' auswählen und auf 'Anwenden' klicken.
Der häufigste Grund für diesen Hinweis ist, dass Nepomuk in den Systemeinstellungen deaktiviert ist. Bitte versuchen Sie es in Systemeinstellungen -> Erweitert -> Desktopsuche zu aktivieren in dem Sie 'Nepomuk-Semantik-Dienste aktivieren' auswählen und auf 'Anwenden' klicken.
</span>


<span class="mw-translate-fuzzy">
Wenn dies nicht hilft (oder wenn die Option bereits aktiviert war, als die Fehlermeldung kam) und wenn Sie zuvor Vorabversionen von KDE SC 4.4 verwendet haben, können Sie durch eine Änderung des Datenbank-Layout betroffen sein (aufgrund einer Aktualisierung der Virtuoso Datenbank-Server von Version 5 auf Version 6; Produktions-Releases von KDE 4.4 SC werden mit Virtuoso Version 6 ausgeliefert). Die folgenden Befehle sollten es wieder zum laufen bekommen:
Wenn dies nicht hilft (oder wenn die Option bereits aktiviert war, als die Fehlermeldung kam) und wenn Sie zuvor Vorabversionen von KDE SC 4.4 verwendet haben, können Sie durch eine Änderung des Datenbank-Layout betroffen sein (aufgrund einer Aktualisierung der Virtuoso Datenbank-Server von Version 5 auf Version 6; Produktions-Releases von KDE 4.4 SC werden mit Virtuoso Version 6 ausgeliefert). Die folgenden Befehle sollten es wieder zum laufen bekommen:
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
Line 60: Line 83:
|}
|}
Beachten Sie, dass die obigen Befehle Nepomuk '''nicht''' permanent aktivieren werden. Wenn es nicht aktiviert ist, müssen Sie dies in den Systemeinstellungen durchführen.
Beachten Sie, dass die obigen Befehle Nepomuk '''nicht''' permanent aktivieren werden. Wenn es nicht aktiviert ist, müssen Sie dies in den Systemeinstellungen durchführen.
</span>


:::{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
| qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
|-
| rm -r ~/.kde/share/apps/nepomuk
|-
| rm -r ~/.kde4/share/apps/nepomuk
|-
| nepomukserver
|}
Note that the above commands will '''not''' enable '''Nepomuk''' permanently if it isn't already enabled, you have to use '''System Settings''' for that.
<span class="mw-translate-fuzzy">
Ein laufendes Nepomuk ist notwendig, um ein funktionierendes Akonadi, und damit ein funktionierendes Kontact zu haben. Sie können jedoch den Strigi Datei-Indexer deaktivieren, das dieser für Kontact nicht benötigt wird. Strigi Datei-Indizierung ist nur für die Desktopsuche, die für Kontact nicht notwendig ist. Stellen Sie nur sicher das für Kontact Nepomuk selbst ordnungsgemäß läuft.
Ein laufendes Nepomuk ist notwendig, um ein funktionierendes Akonadi, und damit ein funktionierendes Kontact zu haben. Sie können jedoch den Strigi Datei-Indexer deaktivieren, das dieser für Kontact nicht benötigt wird. Strigi Datei-Indizierung ist nur für die Desktopsuche, die für Kontact nicht notwendig ist. Stellen Sie nur sicher das für Kontact Nepomuk selbst ordnungsgemäß läuft.
</span>


<span class="mw-translate-fuzzy">
In Kontact wird Nepomuk für viele verschiedene Dinge verwendet, angefangen von der Anzeige der anstehenden Geburtstage, über den Umgang mit Frei / Gebucht-Listen bis zur Anzeige des Fotos eines Kontakts im Nachrichten-Betrachter. Wenn Nepomuk nicht ausgeführt wird, werden mehrere verschiedene Dinge in Kontact aufhören zu arbeiten. Der Hinweis ist dazu da Sie vor der eingeschränkten Funktionalität zu warnen. Aktivieren von Nepomuk, wie oben beschrieben, behebt das Problem.
In Kontact wird Nepomuk für viele verschiedene Dinge verwendet, angefangen von der Anzeige der anstehenden Geburtstage, über den Umgang mit Frei / Gebucht-Listen bis zur Anzeige des Fotos eines Kontakts im Nachrichten-Betrachter. Wenn Nepomuk nicht ausgeführt wird, werden mehrere verschiedene Dinge in Kontact aufhören zu arbeiten. Der Hinweis ist dazu da Sie vor der eingeschränkten Funktionalität zu warnen. Aktivieren von Nepomuk, wie oben beschrieben, behebt das Problem.
</span>


<span class="mw-translate-fuzzy">
Sie können überprüfen ob Nepomuk korrekt ausgeführt wird durch die Eingabe von ''akonadictl status'' in der Konsole.
Sie können überprüfen ob Nepomuk korrekt ausgeführt wird durch die Eingabe von ''akonadictl status'' in der Konsole.
</span>


===Ich möchte mein aktuelles Adressbuch und Organizer verwenden - Kann ich das?===
===Ich möchte mein aktuelles Adressbuch und Organizer verwenden - Kann ich das?===


<span class="mw-translate-fuzzy">
Ja. Wenn Sie die Akonadi-Einrichtung verwenden, um eine Ressource hinzuzufügen, können Sie diese als Standard-Adressbuch festlegen - diese auf std.vcf zu verweisen sollte funktionieren. Die Migration zerstört nicht ihr altes Adressbuch. Sie können es weiterverwenden, jedoch verlieren Sie dann die Vorteile, die ihnen Akonadi geben kann. Alternativ können Sie sowohl ein Akonadi-Adressbuch als auch ihr ursprüngliches, für eine Zeit, verwenden, wenn Sie sich so sicherer fühlen.
Ja. Wenn Sie die Akonadi-Einrichtung verwenden, um eine Ressource hinzuzufügen, können Sie diese als Standard-Adressbuch festlegen - diese auf std.vcf zu verweisen sollte funktionieren. Die Migration zerstört nicht ihr altes Adressbuch. Sie können es weiterverwenden, jedoch verlieren Sie dann die Vorteile, die ihnen Akonadi geben kann. Alternativ können Sie sowohl ein Akonadi-Adressbuch als auch ihr ursprüngliches, für eine Zeit, verwenden, wenn Sie sich so sicherer fühlen.
</span>


===Ich kann keine Einzelheiten in meinem Adressbuch sehen===
===Ich kann keine Einzelheiten in meinem Adressbuch sehen===


<span class="mw-translate-fuzzy">
Im Moment ist die Ursache dafür bisher nicht identifiziert, aber die Lösung ist einfach. Schließen Sie Kontact und starten Sie KAddressBook als Stand-alone-Anwendung. Nachdem Sie es wieder geschlossen haben können Sie es innerhalb von Kontact verwenden. Es scheint so, das etwas nicht ausgelöst wird, wenn Kontact startet und ich erwarte, dass die bald gefunden und behoben wird. Dies scheint vor allem bei der Version 4.4.0 vorzukommen.
Im Moment ist die Ursache dafür bisher nicht identifiziert, aber die Lösung ist einfach. Schließen Sie Kontact und starten Sie KAddressBook als Stand-alone-Anwendung. Nachdem Sie es wieder geschlossen haben können Sie es innerhalb von Kontact verwenden. Es scheint so, das etwas nicht ausgelöst wird, wenn Kontact startet und ich erwarte, dass die bald gefunden und behoben wird. Dies scheint vor allem bei der Version 4.4.0 vorzukommen.
</span>


===Meine Kontakte werden nicht angezeigt, wenn ich in KMail auf die Schaltfläche Auswählen klicke===
===Meine Kontakte werden nicht angezeigt, wenn ich in KMail auf die Schaltfläche Auswählen klicke===


<span class="mw-translate-fuzzy">
Überprüfen Sie Systemeinstellungen -> Erweitert -> KDE-Ressourcen. Stellen Sie sicher, dass die von Akonadi kontrollierten Adressbücher aufgeführt sind - fügen Sie sie gegebenenfalls hinzu. Gleichzeitig ist es eine gute Idee ihr wichtigstes Akonadi-Adressbuch, in der Regel 'Persönliche Kontakte' genannt, zum Standard zu machen. Weitere Einzelheiten dazu können [[KAddressBook_4.4/de#Ihr_neues_Adressbuch_einrichten|hier]] nachgelesen werden.
Überprüfen Sie Systemeinstellungen -> Erweitert -> KDE-Ressourcen. Stellen Sie sicher, dass die von Akonadi kontrollierten Adressbücher aufgeführt sind - fügen Sie sie gegebenenfalls hinzu. Gleichzeitig ist es eine gute Idee ihr wichtigstes Akonadi-Adressbuch, in der Regel 'Persönliche Kontakte' genannt, zum Standard zu machen. Weitere Einzelheiten dazu können [[KAddressBook_4.4/de#Ihr_neues_Adressbuch_einrichten|hier]] nachgelesen werden.
</span>


===Wie bekomme ich mein Groupware Adressbuch zurück?===
===Wie bekomme ich mein Groupware Adressbuch zurück?===
Line 83: Line 131:
Zwei Lösungen: Verwendung des alten oder des neuen Frameworks
Zwei Lösungen: Verwendung des alten oder des neuen Frameworks


<span class="mw-translate-fuzzy">
Altes Framework: In der Akonadi-Einrichtung fügen Sie "KDE-Adressbuch (herkömmlich)" hinzu. Das KDE-Adressbuch heißt, dass Sie alte KDE-Ressourcen für Akonadi verwenden können. In der Konfiguration des "KDE-Adressbuch (herkömmlich)" verweisen Sie zu einem "IMAP-Adressbuch via KMail" und in KMail sollten dadurch die Groupware-Optionen aktiviert werden. Dies sollte für Kolab, eGroupware und ähnliche Adressbücher funktionieren - Sie müssen die Optionen überprüfen um sicherzustellen, dass der richtige Typ ausgewählt ist.
Altes Framework: In der Akonadi-Einrichtung fügen Sie "KDE-Adressbuch (herkömmlich)" hinzu. Das KDE-Adressbuch heißt, dass Sie alte KDE-Ressourcen für Akonadi verwenden können. In der Konfiguration des "KDE-Adressbuch (herkömmlich)" verweisen Sie zu einem "IMAP-Adressbuch via KMail" und in KMail sollten dadurch die Groupware-Optionen aktiviert werden. Dies sollte für Kolab, eGroupware und ähnliche Adressbücher funktionieren - Sie müssen die Optionen überprüfen um sicherzustellen, dass der richtige Typ ausgewählt ist.
</span>


<span class="mw-translate-fuzzy">
Neues Framework (nur mit Kolab getestet): In der Akonadi-Einrichtung (rufen Sie 'kcmshell4 kcm_akonadi' in der Konsole auf, um es zu sehen) fügen Sie eine "IMAP E-Mail Server" Ressource hinzu und richten Sie ihren Mail-Server-Namen, Benutzername und Kennwort ein. Dann klicken Sie auf 'Automatisch erkennen'. Dann fügen Sie eine Kolab-Ressource hinzu. Der nächste Schritt ist zu warten, bis die IMAP Ressource synchronisiert ist, dies kann recht lange dauern. Der Status wird in der Akonadi-Einrichtung angezeigt. Wenn nichts passiert, versuchen Sie einen Neustart des Akonadi-Server. Nach einiger Zeit sollte das Kolab-Adressbuch in KAdressBook angezeigt werden.
Neues Framework (nur mit Kolab getestet): In der Akonadi-Einrichtung (rufen Sie 'kcmshell4 kcm_akonadi' in der Konsole auf, um es zu sehen) fügen Sie eine "IMAP E-Mail Server" Ressource hinzu und richten Sie ihren Mail-Server-Namen, Benutzername und Kennwort ein. Dann klicken Sie auf 'Automatisch erkennen'. Dann fügen Sie eine Kolab-Ressource hinzu. Der nächste Schritt ist zu warten, bis die IMAP Ressource synchronisiert ist, dies kann recht lange dauern. Der Status wird in der Akonadi-Einrichtung angezeigt. Wenn nichts passiert, versuchen Sie einen Neustart des Akonadi-Server. Nach einiger Zeit sollte das Kolab-Adressbuch in KAdressBook angezeigt werden.
</span>


===Sie bemerken lange Verzögerungen beim Versenden von E-Mails===
===Sie bemerken lange Verzögerungen beim Versenden von E-Mails===


<span class="mw-translate-fuzzy">
Dies wird durch das Einfrieren von KMail begleitet, bis die E-Mail tatsächlich versendet ist.
Dies wird durch das Einfrieren von KMail begleitet, bis die E-Mail tatsächlich versendet ist.
</span>


<span class="mw-translate-fuzzy">
Es wurde ein Fehler gefunden in der Art wie Nepomuk die Adressen überprüft, dies kann zu großen Verzögerungen führen. Dies ist für KDE SC 4.4.1 behoben. Wenn Sie nicht auf diese Version aktualisieren können, gibt es folgende Problemlösung:
Es wurde ein Fehler gefunden in der Art wie Nepomuk die Adressen überprüft, dies kann zu großen Verzögerungen führen. Dies ist für KDE SC 4.4.1 behoben. Wenn Sie nicht auf diese Version aktualisieren können, gibt es folgende Problemlösung:
</span>


<span class="mw-translate-fuzzy">
Schließen Sie Kontact oder KMail und KAdressbook, wenn Sie diese als stand-alone Anwendungen verwenden. Deaktivieren Sie Strigi in den Systemeinstellungen. Deaktivieren Sie Nepomuk und löschen Sie die Datenbank. Führen Sie einen Neustart des ''nepomuksever'' durch. Die dafür notwendigen Befehle sind (als Anwender)
Schließen Sie Kontact oder KMail und KAdressbook, wenn Sie diese als stand-alone Anwendungen verwenden. Deaktivieren Sie Strigi in den Systemeinstellungen. Deaktivieren Sie Nepomuk und löschen Sie die Datenbank. Führen Sie einen Neustart des ''nepomuksever'' durch. Die dafür notwendigen Befehle sind (als Anwender)
</span>


<span class="mw-translate-fuzzy">
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
|qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
|qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
Line 104: Line 163:
|nepomukserver  
|nepomukserver  
|}
|}
</span>


Die wird natürlich die gesamte Datenbank löschen, einschließlich aller Schlagwörter die Sie hinzugefügt haben. In der Theorie weiß ich, dass ein mehr selektiver Löschvorgang in der Datenbank möglich ist. Falls dies für Sie wichtig ist, können Sie eine Anleitung dazu auf [http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/TipsAndTricks#Remove_all_Strigi-indexed_data dieser Seite] finden.
Die wird natürlich die gesamte Datenbank löschen, einschließlich aller Schlagwörter die Sie hinzugefügt haben. In der Theorie weiß ich, dass ein mehr selektiver Löschvorgang in der Datenbank möglich ist. Falls dies für Sie wichtig ist, können Sie eine Anleitung dazu auf [http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/TipsAndTricks#Remove_all_Strigi-indexed_data dieser Seite] finden.
Line 111: Line 171:
=== Nepomuk ===
=== Nepomuk ===


<span class="mw-translate-fuzzy">
Beginnend mit KDE 4.4 ist es erforderlich das Nepomuk läuft, damit Akonadi korrekt funktionieren kann. Akonadi überprüft dies beim Start und zeigt eine Fehlermeldung, falls dies nicht der Fall ist.
Beginnend mit KDE 4.4 ist es erforderlich das Nepomuk läuft, damit Akonadi korrekt funktionieren kann. Akonadi überprüft dies beim Start und zeigt eine Fehlermeldung, falls dies nicht der Fall ist.
</span>


<span class="mw-translate-fuzzy">
Nepomuk funktioniert nur mit dem Virtuoso-Backend. Sie können mit dem oben beschriebenen Akonadi-Selbsttest überprüfen, ob Nepomuk mit dem richtigen Backend läuft.
Nepomuk funktioniert nur mit dem Virtuoso-Backend. Sie können mit dem oben beschriebenen Akonadi-Selbsttest überprüfen, ob Nepomuk mit dem richtigen Backend läuft.
</span>


<span class="mw-translate-fuzzy">
Obwohl es notwendig ist das Nepomuk läuft, können Sie dennoch die Strigi Datei-Indizierung deaktivieren. Diese ist in der Regel der ressourcen-intensivste Teil des Nepomuk Frameworks.
Obwohl es notwendig ist das Nepomuk läuft, können Sie dennoch die Strigi Datei-Indizierung deaktivieren. Diese ist in der Regel der ressourcen-intensivste Teil des Nepomuk Frameworks.
</span>


=== Apparmor ===
=== Apparmor ===


<span class="mw-translate-fuzzy">
Einige Distributionen, die Apparmor verwenden, haben dies so eingerichtet, dass es die Ausführung des internen Datenbankservers von Akonadi verhindert. Dadurch kann es zu einer Reihe von unspezifischen Fehlermeldungen kommen, einschließlich der folgenden (aber nicht nur diese):
Einige Distributionen, die Apparmor verwenden, haben dies so eingerichtet, dass es die Ausführung des internen Datenbankservers von Akonadi verhindert. Dadurch kann es zu einer Reihe von unspezifischen Fehlermeldungen kommen, einschließlich der folgenden (aber nicht nur diese):
* unknown error 255 when running akonadictl  
* unknown error 255 when running akonadictl  
* "DB error: 'Could not open required defaults file: /home/$username/.local/share/akonadi/mysql.conf"  
* "DB error: 'Could not open required defaults file: /home/$username/.local/share/akonadi/mysql.conf"
</span>


<span class="mw-translate-fuzzy">
Sie können dieses Problem lösen in dem Sie '''aa-complain mysqld''' mit root-Rechten ausführen und dann apparmor neu laden. Bei Kubuntu würde dies so aussehen:
Sie können dieses Problem lösen in dem Sie '''aa-complain mysqld''' mit root-Rechten ausführen und dann apparmor neu laden. Bei Kubuntu würde dies so aussehen:
  sudo aa-complain mysqld
  sudo aa-complain mysqld
  sudo /etc/init.d/apparmor reload
  sudo /etc/init.d/apparmor reload
</span>


<span class="mw-translate-fuzzy">
Beachten Sie, dass Sie vielleicht Apparmor verwenden, auch wenn es nicht in der Prozessliste angezeigt wird.
Beachten Sie, dass Sie vielleicht Apparmor verwenden, auch wenn es nicht in der Prozessliste angezeigt wird.
</span>


<span class="mw-translate-fuzzy">
Beachten Sie auch, dass einige Distributionen eine zusätzliche ''mysqld'' Binärdatei mit dem Namen ''mysqld-akonadi'' mitliefern, welches AppArmor schon korrekt eingerichtet hat. Wenn das auf ihrem System der Fall ist und Sie trotzdem dieses Problem haben, gibt es zwei mögliche Gründe:
Beachten Sie auch, dass einige Distributionen eine zusätzliche ''mysqld'' Binärdatei mit dem Namen ''mysqld-akonadi'' mitliefern, welches AppArmor schon korrekt eingerichtet hat. Wenn das auf ihrem System der Fall ist und Sie trotzdem dieses Problem haben, gibt es zwei mögliche Gründe:
* Akonadi verwendet immer noch ''mysqld'' anstatt ''mysqld-akonadi''. Sie können dies in den Systemeinstellungen -> Erweitert -> Akonadi -> Server-Einstellungen ändern.
* Akonadi verwendet immer noch ''mysqld'' anstatt ''mysqld-akonadi''. Sie können dies in den Systemeinstellungen -> Erweitert -> Akonadi -> Server-Einstellungen ändern.
* AppArmor ist auch nicht für ''mysqld-akonadi'' korrekt eingerichtet. Versuchen Sie den Befehl ''aa-complain'', wie oben erwähnt, mit ''mysqld-akonadi'' anstatt ''mysqld'' auszuführen.
* AppArmor ist auch nicht für ''mysqld-akonadi'' korrekt eingerichtet. Versuchen Sie den Befehl ''aa-complain'', wie oben erwähnt, mit ''mysqld-akonadi'' anstatt ''mysqld'' auszuführen.
</span>


----
----


<span class="mw-translate-fuzzy">
Sie werden dieses Problem ebenfalls haben, wenn Sie ein verschlüsseltes Home-Verzeichnis unter Verwendung von encryptfs kombiniert mit AppArmor verwenden. Akonadi AppArmor berücksichtigt zurzeit kein verschlüsseltes Home-Verzeichnis (üblicherweise bei Ubuntu Jaunty Anwendern). Dazugehörende Fehlermeldungen:
Sie werden dieses Problem ebenfalls haben, wenn Sie ein verschlüsseltes Home-Verzeichnis unter Verwendung von encryptfs kombiniert mit AppArmor verwenden. Akonadi AppArmor berücksichtigt zurzeit kein verschlüsseltes Home-Verzeichnis (üblicherweise bei Ubuntu Jaunty Anwendern). Dazugehörende Fehlermeldungen:
* dmesg zeigt:
* dmesg zeigt:
Line 141: Line 216:
* Akonadi zeigt den folgenden Fehler:
* Akonadi zeigt den folgenden Fehler:
     Akonadi server process not registered at D-Bus
     Akonadi server process not registered at D-Bus
</span>


Die Problemlösung ist, die Datei "/etc/apparmor.d/usr.sbin.mysqld-akonadi" zu editieren.
Die Problemlösung ist, die Datei "/etc/apparmor.d/usr.sbin.mysqld-akonadi" zu editieren.
Line 148: Line 224:
       @{HOME}/.Private/** rwk,
       @{HOME}/.Private/** rwk,


<span class="mw-translate-fuzzy">
Führen Sie einen Neustart von apparmor und einen Neustart von akonadi durch.
Führen Sie einen Neustart von apparmor und einen Neustart von akonadi durch.
</span>




=== Fehlende Voraussetzungen ===
=== Fehlende Voraussetzungen ===


<span class="mw-translate-fuzzy">
Um Akonadi zu verwenden müssen Sie die folgenden Pakete installiert haben (Namen können sich je nach Distribution unterscheiden):
Um Akonadi zu verwenden müssen Sie die folgenden Pakete installiert haben (Namen können sich je nach Distribution unterscheiden):
</span>


<span class="mw-translate-fuzzy">
* Den MySQL-Server (bei openSUSE ''mysql'' genannt)
* Den MySQL-Server (bei openSUSE ''mysql'' genannt)
* Das Qt4 MySQL-Plug-In (bei openSUSE ''libqt4-sql-mysql'' genannt)
* Das Qt4 MySQL-Plug-In (bei openSUSE ''libqt4-sql-mysql'' genannt)
</span>


<span class="mw-translate-fuzzy">
Wenn Sie Qt4 selbst kompilieren, stellen Sie sicher, dass das ''configure'' Script die MySQL-Unterstützung durch hinzufügen des Parameters '-plugin-sql-mysql' berücksichtigt. Wenn ''configure'' den notwendigen MySQL-Client Code nicht finden kann (z.B. meldet es "MySQL support cannot be enabled due to functionality tests"), dann stellen Sie sicher, dass das zugehörige Paket installiert ist (üblicherweise als ''[lib]mysql[client]-dev[el]'' bezeichnet). Es kann auch sein, je nach Installationsort der MySQL-Header, das zusätzliche Parameter für ''configure'' notwendig sind (z.B. ''-I /usr/include/mysql'' bei OpenSuse).
Wenn Sie Qt4 selbst kompilieren, stellen Sie sicher, dass das ''configure'' Script die MySQL-Unterstützung durch hinzufügen des Parameters '-plugin-sql-mysql' berücksichtigt. Wenn ''configure'' den notwendigen MySQL-Client Code nicht finden kann (z.B. meldet es "MySQL support cannot be enabled due to functionality tests"), dann stellen Sie sicher, dass das zugehörige Paket installiert ist (üblicherweise als ''[lib]mysql[client]-dev[el]'' bezeichnet). Es kann auch sein, je nach Installationsort der MySQL-Header, das zusätzliche Parameter für ''configure'' notwendig sind (z.B. ''-I /usr/include/mysql'' bei OpenSuse).
</span>


<span class="mw-translate-fuzzy">
Wenn Sie Qt4 direkt von Nokia bekommen, z.B. durch einen Download von
Wenn Sie Qt4 direkt von Nokia bekommen, z.B. durch einen Download von
  qt-sdk-linux-x86_64-opensource-2009.05.bin
  qt-sdk-linux-x86_64-opensource-2009.05.bin
</span>


<span class="mw-translate-fuzzy">
werden Sie (mit dem Befehl "akonadictl start") eine Fehlermeldung bei Test 1 bekommen:
werden Sie (mit dem Befehl "akonadictl start") eine Fehlermeldung bei Test 1 bekommen:
  ''Database driver not found.''
  ''Database driver not found.''
Line 168: Line 255:
   ''The following drivers are installed: QSQLITE.''
   ''The following drivers are installed: QSQLITE.''
   ''Make sure the required driver is installed.''
   ''Make sure the required driver is installed.''
</span>
:::{|style="width:98%; border:2px dotted #BCBCBC;"
|  Database driver not found.
|-
|  Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
|-
|  The following drivers are installed: QSQLITE.
|-
|  Make sure the required driver is installed.
|}


Den Treiber den Sie benötigen ist ''libqsqlmysql.so''
Den Treiber den Sie benötigen ist ''libqsqlmysql.so''


<span class="mw-translate-fuzzy">
Leider ist der Treiber nicht Teil der Distribution (bis Januar 2010). Sie müssen den Quellcode kompilieren. Laden Sie ihn herunter:
Leider ist der Treiber nicht Teil der Distribution (bis Januar 2010). Sie müssen den Quellcode kompilieren. Laden Sie ihn herunter:
   qt-everywhere-opensource-src-4.6.0.tar.bz
   qt-everywhere-opensource-src-4.6.0.tar.bz
</span>


''configure'' und ''make'' wie oben beschrieben. Aber das ''make install'' kopiert nicht den Treiber. Daher müssen Sie diesen selbst kopieren:
''configure'' und ''make'' wie oben beschrieben. Aber das ''make install'' kopiert nicht den Treiber. Daher müssen Sie diesen selbst kopieren:
Line 182: Line 282:
=== Umgebungseinstellungen ===
=== Umgebungseinstellungen ===


<span class="mw-translate-fuzzy">
Der Akonadi Server sucht nach Akonadi-Agenten und Ressourcen in den Pfaden, die in der '''XDG_DATA_DIRS''' Umgebungsvariablen gesetzt sind. Wenn sich Akonadi beschwert, dass es Agenten und Ressourcen nicht finden kann, überprüfen Sie, ob diese Variable korrekt gesetzt ist. Beachten Sie außerdem, dass selbst wenn diese in der aktuellen Konsolensitzung gesetzt ist, die Variable vielleicht nicht gesetzt ist, wenn der Server gestartet wird. Ein Start des Servers in der aktuellen Konsolensitzung schließt diese Möglichkeit aus.
Der Akonadi Server sucht nach Akonadi-Agenten und Ressourcen in den Pfaden, die in der '''XDG_DATA_DIRS''' Umgebungsvariablen gesetzt sind. Wenn sich Akonadi beschwert, dass es Agenten und Ressourcen nicht finden kann, überprüfen Sie, ob diese Variable korrekt gesetzt ist. Beachten Sie außerdem, dass selbst wenn diese in der aktuellen Konsolensitzung gesetzt ist, die Variable vielleicht nicht gesetzt ist, wenn der Server gestartet wird. Ein Start des Servers in der aktuellen Konsolensitzung schließt diese Möglichkeit aus.
</span>


=== mysqld: unknown variable 'innodb_file_per_table=1' ===
=== mysqld: unknown variable 'innodb_file_per_table=1' ===


<span class="mw-translate-fuzzy">
Wenn das MySQL-Server-Protokoll die folgende Fehlermeldung enthält:
Wenn das MySQL-Server-Protokoll die folgende Fehlermeldung enthält:
<code>[ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1'
<code>[ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1'
[ERROR] Aborting</code>
[ERROR] Aborting</code>
</span>




then your MySQL server was built without the InnoDB support which is required by Akonadi or InnoDB needs to be loaded in your mysql.conf file. Try adding:
then your MySQL server was built without the InnoDB support which is required by '''Akonadi''' or '''InnoDB''' needs to be loaded in your ''mysql.conf'' file. Try adding:


<br>#sql_mode=strict_trans_tables <- Add underneath this line
:::{|style="width:98%; border:2px dotted #BCBCBC;"
<br>
#sql_mode=strict_trans_tables <- Add underneath this line
<br>#plugins
|-
<br>plugin_dir=usr/lib/mysql/plugin < - This may be a different path
#plugins
<br>plugin-load=ha_innodb.so
|-
plugin_dir=usr/lib/mysql/plugin < - This may be a different path
|-
plugin-load=ha_innodb.so
|}


===Table 'mysql. servers' doesn't exist===
===Table 'mysql. servers' doesn't exist===


If MySQL server log contains the following error:
If MySQL server log contains the following error:
<code>[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
 
[ERROR] Cannot open mysql.db
:::{|style="width:98%; border:2px dotted #BCBCBC;"
[ERROR] Cannot open mysql.user
|[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.event</code>
|-
then, most probably, you don't have your MySQL configuration file in place. Copy it from ''/usr/share/config/akonadi/mysql-global.conf'' into ''~/.config/akonadi/mysql-local.conf''. (For debian and openSuSE users the file ist located in ''/etc/akonadi/mysql-global.conf''). Then open it and uncomment the line '''sql_mode=strict_trans_tables'''. If, after that, you get the following errors:
|[ERROR] Cannot open mysql.db
<code>[ERROR] Plugin 'InnoDB' init function returned error.
|-
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE  
|[ERROR] Cannot open mysql.user
failed.
|-
[ERROR] Unknown/unsupported table type: innodb
|[ERROR] Cannot open mysql.event
[ERROR] Aborting</code>
|}
 
then, most probably, you don't have your MySQL configuration file in place. Copy it from ''/usr/share/config/akonadi/mysql-global.conf'' into ''~/.config/akonadi/mysql-local.conf''. (For ''debian'' and ''openSuSE'' users the file ist located in ''/etc/akonadi/mysql-global.conf''). Then open it and uncomment the line '''sql_mode=strict_trans_tables'''. If, after that, you get the following errors:
 
:::{|style="width:98%; border:2px dotted #BCBCBC;"
| [ERROR] Plugin 'InnoDB' init function returned error.
|-
| [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
|-
| [ERROR] Unknown/unsupported table type: innodb
|-
| [ERROR] Aborting
|}
 
then in the same file find the line that starts just like the one above (which you have uncommented), but has additional parameters, separated by commas (something like '''sql_mode=strict_trans_tables,strict_all_tables, ...etc'''). Comment the shorter ''sql_mode=...'' line and uncomment the longer one.
then in the same file find the line that starts just like the one above (which you have uncommented), but has additional parameters, separated by commas (something like '''sql_mode=strict_trans_tables,strict_all_tables, ...etc'''). Comment the shorter ''sql_mode=...'' line and uncomment the longer one.


On openSUSE 11.2 running the command
On ''openSUSE 11.2'' running the command
<code>mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/</code>
 
      mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
 
will fix this problem.
will fix this problem.


=== Kubuntu 10.4 Upgrade ===
=== Kubuntu 10.4 Upgrade ===


This is a summary of other entries here for those upgrading from Kubuntu 9.10 to 10.4 who may have been using a personal package archive (PPA) for KDE 4.3 for bug fixes.
This is a summary of other entries here for those upgrading from ''Kubuntu 9.10'' to 10.4 who may have been using a personal package archive (PPA) for KDE 4.3 for bug fixes.


Install missing prerequisites.  Remove previous akonadi cache.  Start the akonadi service.  Install the database.  Upgrade the database.  Stop and restart the akonadi service.
Install missing prerequisites.  Remove previous '''akonadi''' cache.  Start the '''akonadi''' service.  Install the database.  Upgrade the database.  Stop and restart the '''akonadi''' service.
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
:::{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
|sudo apt-get install virtuoso-server mysql-server-5.1
|sudo apt-get install virtuoso-server mysql-server-5.1
|-
|-
Line 240: Line 363:


The mysql_install_db command above will report something like what follows, which you can safely ignore:
The mysql_install_db command above will report something like what follows, which you can safely ignore:
<code>Installing MySQL system tables...
 
100501 18:04:30 [Warning] Can't create test file /home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test</code>
:::{|style="width:98%; border:2px dotted #BCBCBC;"
|Installing MySQL system tables...
|-
|100501 18:04:30 [Warning] Can't create test file  
|-
|/home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test
|}


Reference:
Reference:
Line 248: Line 377:
=== KAddressBook upgrade ===
=== KAddressBook upgrade ===


In addition to the Kubuntu 10.4 remedy above, problems trying to add a Vcard directory may require
In addition to the ''Kubuntu 10.4'' remedy above, problems trying to add a ''Vcard directory'' may require
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
:::{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
|rm -rf $HOME/.config/akonadi
|rm -rf $HOME/.config/akonadi
|}
|}
Line 258: Line 387:
If you get the following error when starting Akonadi:
If you get the following error when starting Akonadi:


<code>Character set 'latin1' is not a compiled character set and is not specified in
:::{|style="width:98%; border:2px dotted #BCBCBC;"
|Character set 'latin1' is not a compiled character set and is not specified in
the '/usr/share/mysql/charsets/Index.xml' file
the '/usr/share/mysql/charsets/Index.xml' file
Nepomuk QueryServer interface not available!
|-
Connecting to deprecated signal
|Nepomuk QueryServer interface not available!
QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
|-
DataStore::unhideAllPimItems()
|Connecting to deprecated signal
Character set 'latin1' is not a compiled character set and is not specified in
|-
|QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
|-
|DataStore::unhideAllPimItems()
|-
|Character set 'latin1' is not a compiled character set and is not specified in
the '/usr/share/mysql/charsets/Index.xml' file
the '/usr/share/mysql/charsets/Index.xml' file
Database error: Cannot open database.
|-
Last driver error: "QMYSQL: Unable to connect"
|Database error: Cannot open database.
Last database error: "Can't initialize character set latin1 (path:
|-
|Last driver error: "QMYSQL: Unable to connect"
|-
|Last database error: "Can't initialize character set latin1 (path:
/usr/share/mysql/charsets/)"
/usr/share/mysql/charsets/)"
Database error: Cannot open database.
|-
Last driver error: "QMYSQL: Unable to connect"
|Database error: Cannot open database.
Last database error: "Can't initialize character set latin1 (path:
|-
/usr/share/mysql/charsets/)"</code>
|Last driver error: "QMYSQL: Unable to connect"
|-
|Last database error: "Can't initialize character set latin1 (path:
/usr/share/mysql/charsets/)"
|}


then you're probably using a MySQL server which has a version > 5.1.42.
then you're probably using a MySQL server which has a version > 5.1.42.
Line 283: Line 425:
=== Restarting after a previous error ===
=== Restarting after a previous error ===


If you had problems starting Akonadi and fixed those (such as a missing package or the Apparmor problem) make sure that the Akonadi server is completely shut down before trying to start it again, by calling '''akonadictl stop''' on the command line. You can confirm that it was indeed shut down completely by running '''akonadictl status'''.
If you had problems starting '''Akonadi''' and fixed those (such as a missing package or the '''Apparmor''' problem) make sure that the '''Akonadi''' server is completely shut down before trying to start it again, by calling
      akonadictl stop  
on the command line. You can confirm that it was indeed shut down completely by running
      akonadictl status


Under some circumstances the Akonadi server can be stuck in a partially running state after a failure which will prevent the next attempt to start it to fail as well. Please file a bug report if you run into this problem including the self-test report of the initial problem.
Under some circumstances the '''Akonadi''' server can be stuck in a partially running state after a failure which will prevent the next attempt to start it to fail as well. Please file a bug report if you run into this problem including the self-test report of the initial problem.


=== The so-called "Gentoo-Assert" ===
=== The so-called "Gentoo-Assert" ===


That's an especially nasty problem that so far only affects users of source-based distributions, most prominently Gentoo. It is named after MySQL assertions like the following example and is most likely caused by a MySQL protocol mismatch between the MySQL server and the client library or the Qt MySQL driver.
That's an especially nasty problem that so far only affects users of source-based distributions, most prominently ''Gentoo''. It is named after MySQL assertions like the following example and is most likely caused by a MySQL protocol mismatch between the MySQL server and the client library or the Qt MySQL driver.


{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
:::{|style="width:98%; border:2px dotted #BCBCBC;"
|akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
|akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
|-
|-

Revision as of 14:47, 23 June 2010

Template:I18n/Language Navigation Bar

Einführung

Diese Seite hilft vor allem bei der Fehlersuche die Akonadi betrifft, da es unvermeidliche Störungen in der frühen Phase der Migration gibt. Für viele Menschen wird es die ersten Anzeichen von Akonadi Aktivitäten in KDE SC 4.4 geben und viele werden davon verwirrt werden. Für eine kurze Beschreibung des Zwecks von Akonadi sehen Sie sich diesen Glossareintrag an. Außerdem finden Sie nützliche Links zu weiteren Informationen. Nachdem unvermeidlichen Anlaufschwierigkeiten vorbei sind, wird Akonadi ein Kraftwerk sein, das von vielen Anwendungen genutzt werden kann.

Die Struktur verstehen

Sie können natürlich auch einfach Kontact verwenden, um ihr Adressbuch zu verwalten, aber wenn Sie ein Backup-System verwenden, möchten Sie wissen, wo ihre Daten sind und wie diese gehandhabt werden. Die Seite Akonadi und Adressbuch hilft hier weiter.

Tipps zur Problemlösung

  • Bei der Meldung von Problemen mit dem Akonadi-Server, fügen Sie immer den umfassenden Selbsttest-Bericht bei. Dieser Bericht kann von dem Selbstest-Dialog entnommen werden, der immer dann angezeigt wird, wenn der Akonadi-Server nicht erfolgreich gestartet werden konnte. Sie können den Selbsttest in dem Kcmmodul finden, dass über 'kcmshell4 kcm_akonadi' erreichbar ist.

  • Das Starten des Akonadi-Servers über die Kommandozeile kann weitere hilfreiche Informationen geben. Dies können Sie durch Ausführen von akonadictl start in eine Konsole erreichen. Analog mit akonadictl stop kann der Akonadi-Server gestoppt werden. akonadictl status gibt weitere hilfreiche Informationen.

Allgemeine Probleme

Kontact startet nicht - und gibt auch keine weiteren Informationen

Wenn Kontact nicht startet und Sie auch keine Fehlermeldungen sehen, überprüfen Sie, ob Akonadi läuft. Akonadi sollte auf Anforderung starten. Wenn dies bei ihnen nicht der Fall ist, müssen Sie es starten bevor Kontact gestartet wird, falls Sie irgendwelche migrierten Ressourcen haben (wahrscheinlich KAdressBook). Verwenden Sie das Akonadi-Miniprogramm (starten Sie dieses durch die Eingabe 'akonadi' in KRunner) oder geben Sie die Befehle in die Konsole ein.

Kontact staret nicht - Version II

Kontact ist dafür bekannt, das es nach einem Update Probleme bereitet. Wenn dies geschieht, starten Sie KMail, KOrganizer oder eine der sonstigen Anwendungen aus KRunner (oder die Konsole). Die Chancen sind hoch, dass diese als eigenständige Anwendungen arbeiten, während Sie weiter nachforschen können, was schief gegangen ist. Dies betrifft hauptsächlich die Version 4.4.0.

Verzeichnis nicht gefunden: "/Local"

Einige Leute haben diesen Fehler gemeldet, wenn Kontact nicht startet. Es scheint einen Bug in der Migration zu geben, der KMail anweist nach lokalen E-Mails in dem Verzeichnis ~/.local/share/Local zu suchen. Einem Verzeichnis das noch nicht eingerichtet ist. Die Lösung dafür ist, es nicht zu versuchen es zu beheben, sondern, wenn KMail/Kontact geschlossen sind, das Akonadi Kontrollmodul zu öffnen (über KRunner, Alt-F2 oder 'akonadiconsole' in der Konsole) und entfernen Sie die Ressource die für die lokale Mail zuständig ist. Jetzt sollten Sie feststellen, dass Sie Kontact oder KMail starten können und eine neue Ressource erstellt wird die auf ~/.local/share/local-mail zeigt.

Es gibt andere neue Verzeichnisse unter ~/.local/share/

Ja. Wenn ihr Adressbuch korrekt migriert wurde, ist eine neue Ressource in ~/.local/share/contacts/ erstellt worden.

Was sind /usr/bin/akonadi_maildir_resource und /usr/bin/akonadi_maildispatcher_agent?

Die akonadi_maildir_resource wird automatisch durch den akonadi_maildispatcher_agent erstellt. Letztere wird immer zusammen mit dem Akonadi-Server gestartet, da sie grundlegende Funktionalitäten zur Verfügung stellt (z.B. Senden von Nachrichten) die von allen Mail-Anwendungen verwendet werden die auf Akonadi basieren (werden). Daher ist es in Ordnung das diese beiden laufen, als Anwender können Sie sie einfach ignorieren. Die automatisch generierte akonadi_maildir_resource wird immer auf ~/.local/share/local-mail/ verweisen, welches ihr 'Lokaler Ordner' Konto ist, wo Ihre lokalen Ordner und E-Mails gespeichert werden.

Zu diesem Zeitpunkt, in KDE SC 4.4, ist die E-Mail noch nicht migriert.

Nepomuk Indexing Agents wurden deaktiviert

Kontact arbeitet jetzt, aber Sie sehen immer diesen Hinweis:

Der häufigste Grund für diesen Hinweis ist, dass Nepomuk in den Systemeinstellungen deaktiviert ist. Bitte versuchen Sie es in Systemeinstellungen -> Erweitert -> Desktopsuche zu aktivieren in dem Sie 'Nepomuk-Semantik-Dienste aktivieren' auswählen und auf 'Anwenden' klicken.

Wenn dies nicht hilft (oder wenn die Option bereits aktiviert war, als die Fehlermeldung kam) und wenn Sie zuvor Vorabversionen von KDE SC 4.4 verwendet haben, können Sie durch eine Änderung des Datenbank-Layout betroffen sein (aufgrund einer Aktualisierung der Virtuoso Datenbank-Server von Version 5 auf Version 6; Produktions-Releases von KDE 4.4 SC werden mit Virtuoso Version 6 ausgeliefert). Die folgenden Befehle sollten es wieder zum laufen bekommen:

qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
nepomukserver

Beachten Sie, dass die obigen Befehle Nepomuk nicht permanent aktivieren werden. Wenn es nicht aktiviert ist, müssen Sie dies in den Systemeinstellungen durchführen.

qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
nepomukserver

Note that the above commands will not enable Nepomuk permanently if it isn't already enabled, you have to use System Settings for that.

Ein laufendes Nepomuk ist notwendig, um ein funktionierendes Akonadi, und damit ein funktionierendes Kontact zu haben. Sie können jedoch den Strigi Datei-Indexer deaktivieren, das dieser für Kontact nicht benötigt wird. Strigi Datei-Indizierung ist nur für die Desktopsuche, die für Kontact nicht notwendig ist. Stellen Sie nur sicher das für Kontact Nepomuk selbst ordnungsgemäß läuft.

In Kontact wird Nepomuk für viele verschiedene Dinge verwendet, angefangen von der Anzeige der anstehenden Geburtstage, über den Umgang mit Frei / Gebucht-Listen bis zur Anzeige des Fotos eines Kontakts im Nachrichten-Betrachter. Wenn Nepomuk nicht ausgeführt wird, werden mehrere verschiedene Dinge in Kontact aufhören zu arbeiten. Der Hinweis ist dazu da Sie vor der eingeschränkten Funktionalität zu warnen. Aktivieren von Nepomuk, wie oben beschrieben, behebt das Problem.

Sie können überprüfen ob Nepomuk korrekt ausgeführt wird durch die Eingabe von akonadictl status in der Konsole.

Ich möchte mein aktuelles Adressbuch und Organizer verwenden - Kann ich das?

Ja. Wenn Sie die Akonadi-Einrichtung verwenden, um eine Ressource hinzuzufügen, können Sie diese als Standard-Adressbuch festlegen - diese auf std.vcf zu verweisen sollte funktionieren. Die Migration zerstört nicht ihr altes Adressbuch. Sie können es weiterverwenden, jedoch verlieren Sie dann die Vorteile, die ihnen Akonadi geben kann. Alternativ können Sie sowohl ein Akonadi-Adressbuch als auch ihr ursprüngliches, für eine Zeit, verwenden, wenn Sie sich so sicherer fühlen.

Ich kann keine Einzelheiten in meinem Adressbuch sehen

Im Moment ist die Ursache dafür bisher nicht identifiziert, aber die Lösung ist einfach. Schließen Sie Kontact und starten Sie KAddressBook als Stand-alone-Anwendung. Nachdem Sie es wieder geschlossen haben können Sie es innerhalb von Kontact verwenden. Es scheint so, das etwas nicht ausgelöst wird, wenn Kontact startet und ich erwarte, dass die bald gefunden und behoben wird. Dies scheint vor allem bei der Version 4.4.0 vorzukommen.

Meine Kontakte werden nicht angezeigt, wenn ich in KMail auf die Schaltfläche Auswählen klicke

Überprüfen Sie Systemeinstellungen -> Erweitert -> KDE-Ressourcen. Stellen Sie sicher, dass die von Akonadi kontrollierten Adressbücher aufgeführt sind - fügen Sie sie gegebenenfalls hinzu. Gleichzeitig ist es eine gute Idee ihr wichtigstes Akonadi-Adressbuch, in der Regel 'Persönliche Kontakte' genannt, zum Standard zu machen. Weitere Einzelheiten dazu können hier nachgelesen werden.

Wie bekomme ich mein Groupware Adressbuch zurück?

Zwei Lösungen: Verwendung des alten oder des neuen Frameworks

Altes Framework: In der Akonadi-Einrichtung fügen Sie "KDE-Adressbuch (herkömmlich)" hinzu. Das KDE-Adressbuch heißt, dass Sie alte KDE-Ressourcen für Akonadi verwenden können. In der Konfiguration des "KDE-Adressbuch (herkömmlich)" verweisen Sie zu einem "IMAP-Adressbuch via KMail" und in KMail sollten dadurch die Groupware-Optionen aktiviert werden. Dies sollte für Kolab, eGroupware und ähnliche Adressbücher funktionieren - Sie müssen die Optionen überprüfen um sicherzustellen, dass der richtige Typ ausgewählt ist.

Neues Framework (nur mit Kolab getestet): In der Akonadi-Einrichtung (rufen Sie 'kcmshell4 kcm_akonadi' in der Konsole auf, um es zu sehen) fügen Sie eine "IMAP E-Mail Server" Ressource hinzu und richten Sie ihren Mail-Server-Namen, Benutzername und Kennwort ein. Dann klicken Sie auf 'Automatisch erkennen'. Dann fügen Sie eine Kolab-Ressource hinzu. Der nächste Schritt ist zu warten, bis die IMAP Ressource synchronisiert ist, dies kann recht lange dauern. Der Status wird in der Akonadi-Einrichtung angezeigt. Wenn nichts passiert, versuchen Sie einen Neustart des Akonadi-Server. Nach einiger Zeit sollte das Kolab-Adressbuch in KAdressBook angezeigt werden.

Sie bemerken lange Verzögerungen beim Versenden von E-Mails

Dies wird durch das Einfrieren von KMail begleitet, bis die E-Mail tatsächlich versendet ist.

Es wurde ein Fehler gefunden in der Art wie Nepomuk die Adressen überprüft, dies kann zu großen Verzögerungen führen. Dies ist für KDE SC 4.4.1 behoben. Wenn Sie nicht auf diese Version aktualisieren können, gibt es folgende Problemlösung:

Schließen Sie Kontact oder KMail und KAdressbook, wenn Sie diese als stand-alone Anwendungen verwenden. Deaktivieren Sie Strigi in den Systemeinstellungen. Deaktivieren Sie Nepomuk und löschen Sie die Datenbank. Führen Sie einen Neustart des nepomuksever durch. Die dafür notwendigen Befehle sind (als Anwender)

qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
nepomukserver

Die wird natürlich die gesamte Datenbank löschen, einschließlich aller Schlagwörter die Sie hinzugefügt haben. In der Theorie weiß ich, dass ein mehr selektiver Löschvorgang in der Datenbank möglich ist. Falls dies für Sie wichtig ist, können Sie eine Anleitung dazu auf dieser Seite finden.

Einige technische Probleme

Nepomuk

Beginnend mit KDE 4.4 ist es erforderlich das Nepomuk läuft, damit Akonadi korrekt funktionieren kann. Akonadi überprüft dies beim Start und zeigt eine Fehlermeldung, falls dies nicht der Fall ist.

Nepomuk funktioniert nur mit dem Virtuoso-Backend. Sie können mit dem oben beschriebenen Akonadi-Selbsttest überprüfen, ob Nepomuk mit dem richtigen Backend läuft.

Obwohl es notwendig ist das Nepomuk läuft, können Sie dennoch die Strigi Datei-Indizierung deaktivieren. Diese ist in der Regel der ressourcen-intensivste Teil des Nepomuk Frameworks.

Apparmor

Einige Distributionen, die Apparmor verwenden, haben dies so eingerichtet, dass es die Ausführung des internen Datenbankservers von Akonadi verhindert. Dadurch kann es zu einer Reihe von unspezifischen Fehlermeldungen kommen, einschließlich der folgenden (aber nicht nur diese):

  • unknown error 255 when running akonadictl
  • "DB error: 'Could not open required defaults file: /home/$username/.local/share/akonadi/mysql.conf"

Sie können dieses Problem lösen in dem Sie aa-complain mysqld mit root-Rechten ausführen und dann apparmor neu laden. Bei Kubuntu würde dies so aussehen:

sudo aa-complain mysqld
sudo /etc/init.d/apparmor reload

Beachten Sie, dass Sie vielleicht Apparmor verwenden, auch wenn es nicht in der Prozessliste angezeigt wird.

Beachten Sie auch, dass einige Distributionen eine zusätzliche mysqld Binärdatei mit dem Namen mysqld-akonadi mitliefern, welches AppArmor schon korrekt eingerichtet hat. Wenn das auf ihrem System der Fall ist und Sie trotzdem dieses Problem haben, gibt es zwei mögliche Gründe:

  • Akonadi verwendet immer noch mysqld anstatt mysqld-akonadi. Sie können dies in den Systemeinstellungen -> Erweitert -> Akonadi -> Server-Einstellungen ändern.
  • AppArmor ist auch nicht für mysqld-akonadi korrekt eingerichtet. Versuchen Sie den Befehl aa-complain, wie oben erwähnt, mit mysqld-akonadi anstatt mysqld auszuführen.


Sie werden dieses Problem ebenfalls haben, wenn Sie ein verschlüsseltes Home-Verzeichnis unter Verwendung von encryptfs kombiniert mit AppArmor verwenden. Akonadi AppArmor berücksichtigt zurzeit kein verschlüsseltes Home-Verzeichnis (üblicherweise bei Ubuntu Jaunty Anwendern). Dazugehörende Fehlermeldungen:

  • dmesg zeigt:
    ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-13]
    ecryptfs_create: Failed to create file inlower filesystem
  • Akonadi zeigt den folgenden Fehler:
    Akonadi server process not registered at D-Bus

Die Problemlösung ist, die Datei "/etc/apparmor.d/usr.sbin.mysqld-akonadi" zu editieren. Unterhalb der Zeile:

      @{HOME}/.local/share/akonadi/** rwk,

fügen Sie die folgende neue Zeile hinzu:

      @{HOME}/.Private/** rwk,

Führen Sie einen Neustart von apparmor und einen Neustart von akonadi durch.


Fehlende Voraussetzungen

Um Akonadi zu verwenden müssen Sie die folgenden Pakete installiert haben (Namen können sich je nach Distribution unterscheiden):

  • Den MySQL-Server (bei openSUSE mysql genannt)
  • Das Qt4 MySQL-Plug-In (bei openSUSE libqt4-sql-mysql genannt)

Wenn Sie Qt4 selbst kompilieren, stellen Sie sicher, dass das configure Script die MySQL-Unterstützung durch hinzufügen des Parameters '-plugin-sql-mysql' berücksichtigt. Wenn configure den notwendigen MySQL-Client Code nicht finden kann (z.B. meldet es "MySQL support cannot be enabled due to functionality tests"), dann stellen Sie sicher, dass das zugehörige Paket installiert ist (üblicherweise als [lib]mysql[client]-dev[el] bezeichnet). Es kann auch sein, je nach Installationsort der MySQL-Header, das zusätzliche Parameter für configure notwendig sind (z.B. -I /usr/include/mysql bei OpenSuse).

Wenn Sie Qt4 direkt von Nokia bekommen, z.B. durch einen Download von

qt-sdk-linux-x86_64-opensource-2009.05.bin

werden Sie (mit dem Befehl "akonadictl start") eine Fehlermeldung bei Test 1 bekommen:

Database driver not found.
 Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
 The following drivers are installed: QSQLITE.
 Make sure the required driver is installed.

Database driver not found.
Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
The following drivers are installed: QSQLITE.
Make sure the required driver is installed.

Den Treiber den Sie benötigen ist libqsqlmysql.so

Leider ist der Treiber nicht Teil der Distribution (bis Januar 2010). Sie müssen den Quellcode kompilieren. Laden Sie ihn herunter:

 qt-everywhere-opensource-src-4.6.0.tar.bz

configure und make wie oben beschrieben. Aber das make install kopiert nicht den Treiber. Daher müssen Sie diesen selbst kopieren:

cp <qt-src-dir>/qt-everywhere-opensource-src-4.6.0/plugins/sqldrivers/libqsqlmysql.so /usr/local/bin/sqldrivers/

Aber die Revision 4.6.1, wie qt-sdk-linux-x86_64-opensource-2010.xx.bin hat den Treiber den Sie benötigen.

Umgebungseinstellungen

Der Akonadi Server sucht nach Akonadi-Agenten und Ressourcen in den Pfaden, die in der XDG_DATA_DIRS Umgebungsvariablen gesetzt sind. Wenn sich Akonadi beschwert, dass es Agenten und Ressourcen nicht finden kann, überprüfen Sie, ob diese Variable korrekt gesetzt ist. Beachten Sie außerdem, dass selbst wenn diese in der aktuellen Konsolensitzung gesetzt ist, die Variable vielleicht nicht gesetzt ist, wenn der Server gestartet wird. Ein Start des Servers in der aktuellen Konsolensitzung schließt diese Möglichkeit aus.

mysqld: unknown variable 'innodb_file_per_table=1'

Wenn das MySQL-Server-Protokoll die folgende Fehlermeldung enthält: [ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1' [ERROR] Aborting


then your MySQL server was built without the InnoDB support which is required by Akonadi or InnoDB needs to be loaded in your mysql.conf file. Try adding:

#sql_mode=strict_trans_tables <- Add underneath this line
#plugins
plugin_dir=usr/lib/mysql/plugin < - This may be a different path
plugin-load=ha_innodb.so

Table 'mysql. servers' doesn't exist

If MySQL server log contains the following error:

[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.event

then, most probably, you don't have your MySQL configuration file in place. Copy it from /usr/share/config/akonadi/mysql-global.conf into ~/.config/akonadi/mysql-local.conf. (For debian and openSuSE users the file ist located in /etc/akonadi/mysql-global.conf). Then open it and uncomment the line sql_mode=strict_trans_tables. If, after that, you get the following errors:

[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Aborting

then in the same file find the line that starts just like the one above (which you have uncommented), but has additional parameters, separated by commas (something like sql_mode=strict_trans_tables,strict_all_tables, ...etc). Comment the shorter sql_mode=... line and uncomment the longer one.

On openSUSE 11.2 running the command

     mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/

will fix this problem.

Kubuntu 10.4 Upgrade

This is a summary of other entries here for those upgrading from Kubuntu 9.10 to 10.4 who may have been using a personal package archive (PPA) for KDE 4.3 for bug fixes.

Install missing prerequisites. Remove previous akonadi cache. Start the akonadi service. Install the database. Upgrade the database. Stop and restart the akonadi service.

sudo apt-get install virtuoso-server mysql-server-5.1
rm -r $HOME/.local/share/akonadi
akonadictl start
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
mysql_upgrade --socket=$HOME/.local/share/akonadi/db_misc/mysql.socket
akonadictl stop
akonadictl start

The mysql_install_db command above will report something like what follows, which you can safely ignore:

Installing MySQL system tables...
100501 18:04:30 [Warning] Can't create test file
/home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test

Reference: forum.kde.org Akonadi 1.2.1 - some issues

KAddressBook upgrade

In addition to the Kubuntu 10.4 remedy above, problems trying to add a Vcard directory may require

rm -rf $HOME/.config/akonadi

while Akonadi is not running.

Can't initialize character set latin1

If you get the following error when starting Akonadi:

Character set 'latin1' is not a compiled character set and is not specified in

the '/usr/share/mysql/charsets/Index.xml' file

Nepomuk QueryServer interface not available!
Connecting to deprecated signal
QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
DataStore::unhideAllPimItems()
Character set 'latin1' is not a compiled character set and is not specified in

the '/usr/share/mysql/charsets/Index.xml' file

Database error: Cannot open database.
Last driver error: "QMYSQL: Unable to connect"
Last database error: "Can't initialize character set latin1 (path:

/usr/share/mysql/charsets/)"

Database error: Cannot open database.
Last driver error: "QMYSQL: Unable to connect"
Last database error: "Can't initialize character set latin1 (path:

/usr/share/mysql/charsets/)"

then you're probably using a MySQL server which has a version > 5.1.42. There is a known regression in MySQL 5.1.43 and 5.1.44 which prevents MySQL from starting.

See the bug report for more details.


Restarting after a previous error

If you had problems starting Akonadi and fixed those (such as a missing package or the Apparmor problem) make sure that the Akonadi server is completely shut down before trying to start it again, by calling

     akonadictl stop 

on the command line. You can confirm that it was indeed shut down completely by running

     akonadictl status

Under some circumstances the Akonadi server can be stuck in a partially running state after a failure which will prevent the next attempt to start it to fail as well. Please file a bug report if you run into this problem including the self-test report of the initial problem.

The so-called "Gentoo-Assert"

That's an especially nasty problem that so far only affects users of source-based distributions, most prominently Gentoo. It is named after MySQL assertions like the following example and is most likely caused by a MySQL protocol mismatch between the MySQL server and the client library or the Qt MySQL driver.

akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
`param->buffer_length != 0' failed.

It is extremely hard to diagnose as the assertion mentioned above are only triggered sometimes. Instead you'll get a wide range of weird symptoms:

  • ASAP protocol logs show successful creation of objects which are supposedly no longer available when the next commands accesses them again.
  • SQL protocol logs show INSERT or UPDATE commands with values that mismatch the corresponding column types and nevertheless succeed.
  • SQL protocol logs showing large apparently random record ids which are nevertheless considered valid.

References:

Possible solution: Rebuild the Qt MySQL driver after upgrading MySQL (which most likely caused this problem in the first place).