Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I upgraded the system, using instructions from file UPGRADE.txt on the disk. Everything works fine. But when I try to startx, it quits with an error:

ck-launch-session: error while loading shared libraries: libffi.so.5: cannot open shared object file: no such file or directory

In /usr/lib I found a file libffi.so.6. It seems, that the ck-launch-session wasn't upgraded and still tries to load the old library.

What to do?

share|improve this question
I've never used Slackware, but this sounds like a classic dependency problem. Install libffi 5? Or did the upgrade to the latest version of ck-launch-session just get missed somehow? – depquid Mar 25 '13 at 13:23
BTW: what have you used for upgrading? slackpkg or something else (e.g. swaret)? – peterph Mar 25 '13 at 14:06
@peterph I used upgradepkg – user4035 Mar 25 '13 at 15:49
A package manager like slackpkg or swaret would be preferred I guess. At least the former one can for example install any new packages (those that were not present in the repo before). – peterph Mar 25 '13 at 16:47
up vote 1 down vote accepted

You have several options:

  1. reinstall both libffi and ConsoleKit packages (update your repository copy first if you have a local clone).

  2. uninstall ConsoleKit - strictly speaking it's not necessary (although it provides some level of user comfort and friendliness).

  3. symlink libffi.so.5 to libffi.so.6 - dirty hack that might work, but also may cause lots of troubles, even fatal ones.

You may also want to consider switching to the rolling versions release - slackware-current.

share|improve this answer
dirty hack is really bad. Cause names of functions and parameter have probably changed in the new version. – user4035 Mar 25 '13 at 15:51
@user4035 "even fatal ones" is there for a reason. :) It is a last resort, if you can't do anything else and desperately need to run in the set configuration. On the other hand it often works since version upgrades may be just API extension (i.e. backwards compatible) - speaking from experience here. So it's not bad - it's dirty. – peterph Mar 25 '13 at 16:45
I double checked the modules on Slackware disk: uninstalled and installed again. I did everything correctly. The modules, provided by Slackware 14, were incompatible. ConsoleKit required libffi5, while libffi6 was on disk. I installed libffi5 from the Internet. And now everything works. Thx! – user4035 Mar 28 '13 at 2:42
Yes the repositories are slightly inconsistent from tiime to time. You may also install ConsoleKit from slackware-current. But if libffi5 doesn't conflict with libffi6 having both is fine I guess. – peterph Mar 28 '13 at 14:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.