You are not logged in.

#1 2010-06-18 01:24:26

lecoeus
Member
Registered: 2010-06-18
Posts: 3

[SOLVED] KDE Akonadi nightmare

After a fresh KDE 4.4 install on top of freshly installed Arch, I discovered that Akonadi server fails to start, giving a number of errors, like mysql startup error and the subsequent failure of akonadi to register at dbus, error logs et cetera. Since the Arch installation is probably as vanilla as it gets, it seems to me that the Akonadi package is broken, which makes one wonder what the devs were thinking when they released it. I think I tried every proposed solution that Google has indexed on the web but none worked. Then I found the answer for my problem. I have written it out below in case it is of use to somebody else.

1. In my case, the problem vaguely gave signs of being a mysql problem. Pardus is the only distribution I know that makes Akonadi work (and if you don't want to follow the Arch way, it is the best KDE distribution IMHO), so I replaced the mysql-global.conf in two places - /usr/share/config/akonadi/mysql-global.conf and $HOME/.local/share/akonadi/mysql.conf. The conf file from Pardus is given below. But there is a small thing to remember: if you ran the akonadi server before, it is best to clean the $HOME/.local/share/akonadi directory. Copy the mysql-global.conf file into that directory after cleaning it and before trying to start the akonadi server again. There are only little differences between the stock arch conf and the one from Pardus and even though I forgot the output of the diff command, it seemed like the error had to do with some bad options passed.

2. The second problem seemed to be resources and it was solved by a suggestion I have found in this forum. In system settings, in the advanced tab, go to KDE resources. Create akonadi resources for contacts and calendar and set them as default. If you want to do something regarding the resources (set something else as default/export/import), you can do so after you successfully start the akonadi server from the akonaditray utility's configuration window. But first you need to be able to start it successfully.

After I did these, Akonadi server starts when I fire up Kontact with no errors. When trying to start it from akonaditray, it sometimes says the resource "outbox" cannot be found, but kmail handles the local outbox well and I have no special desire to start akonadi with akonaditray anyway.

Here is the mysql-global.conf from Pardus. If these suggestions don't work, you might want to check out a Pardus live cd to get other ideas because it is working well there unlike the kubuntu live cd.

#
# 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=latin1
collation_server=latin1_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=8M
# innodb_flush_log_at_trx_commit=2

Now, I can have a full mysql database to store my all 10-15 contacts. Hooray, I suppose.

Offline

Board footer

Powered by FluxBB