Snott

Docky in ArchLinux does not launch anymore after a system upgrade

Docky Logo

Docky LogoIf you, like me, use docky for managing your windows and launching your applications, you should have noted that recently an ArchLinux update broke docky because it installed a newer version of mono that docky doesn’t like. Anyways, here is how to fix it.

This is the error when trying to launch docky:

[1111@MNAME ~]$ docky
Could not load file or assembly 'Mono.GetOptions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.

Unhandled Exception: System.TypeLoadException: Could not load type 'Docky.Docky' from assembly 'Docky, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null'.

You can just recompile the package the usual way, but the best and easiest way to do it is to use the ABS (Arch Build System). If you already have ABS installed you can safely skip to the “Compiling docky using ABS” part. Here is a step by step guide:

To install ABS:

sudo pacman -S abs

Also you will need some compiling tools, install with:

sudo pacman -S base-devel

Next edit /etc/abs.conf to have the desired repos fetched

sudo nano /etc/abs.conf

Make sure that the last line is uncommented, if you don’t want to fetch some repo, just add a ! in front of its name and you should be good to go, I would recommend fetching all of them, it doesn’t take much space (entire tree is like 56mb uncompressed, about 18mb download) and it is really handy.

Next, download the abs tree:

sudo abs

Your ABS tree is now created under /var/abs. Note the appropriate branches of the ABS tree now exist and correspond to the ones you specified in /etc/abs.conf.

The abs command should be run periodically to keep in sync with the official repositories.

Next thing you have to do is create a build directory, a folder on your home

mkdir -p $HOME/abs

There you will compile the files you need for getting docky to work.

Now that ABS is installed and correctly configured, we can get on to:

Compiling Docky using ABS:

docky package its in community so we need to copy those files to our pc:

cp -r /var/abs/community/docky $HOME/abs

and change directory to $HOME/abs:

cd ~/abs/docky

now run:

makepkg -s

NOTE: DON’T ever do “sudo makepkg -s” be sure to run it as a normal user or else you could end up breaking your system.

This will compile the package, wait for it to finish and then install it using pacman:

sudo pacman -U slim-1.3.0-2-i686.pkg.tar.xz

now test docky, everything should be working now :D

Any questions leave it in the comments.

Thanks for reading!

NOTE: I’m leaving this here just for reference purposes or If you encounter a similar issue in the future, as of now, this isn’t needed anymore because the appropriate changed have been made on the Arch Linux packages

Comments

5 responses to “Docky in ArchLinux does not launch anymore after a system upgrade”

  1. hannenz Avatar

    Thanks so much for this one, it’s exactly what i have been looking for, and I just CAN’T live without docky no more 😉
    You made my day!

  2. admin Avatar

    glad I could help! according to the archlinux bug tracker HERE, problem is resolved now, but compiling from source will ensure that your docky will run without a hitch for many, many days 😀

  3. […] For me, docky its a must have application, it makes your desktop look so cool and it is also very functional and stable (if you are experiencing problems with docky, check out my article for compiling it from source here. […]

  4. nadairo seays Avatar
    nadairo seays

    everything worked so far until i got to the makepkg -s command which is giving me the error “you do not have write permission to create packages in /home/user/abs/docky”

    1. snott Avatar

      Nadairo, is “user” the username you are currently logged into? If you do “id” command, your username should match the folder (since only the user itself should have access to the home folder). That’s the reason why on the post it states using the $HOME variable… So you don’t run onto these kinds of problems. Let me know if this helps!

Leave a Reply