Slax author's Blog (RSS)
27
October2012
Troubles with flashplayer
I was trying to use Adobe Flash in Slax and noticed it doesn't work at all. The plugin was loaded, but a bunch of strange errors appeared on stdout and the flash animations simply didn't work.
The errors were like this:
I'm posting it here so google can possibly index it and provide solution to someone else who will face the same problem.
The solution is pretty tricky, and I do not understand why is that at all. The flashplayer plugin needs libsasl2 to work. Slackware provides bunch of shared libraries in aaa_elflibs, but libsasl2 is missing there (for a reason I do not understand). After installing cyrus-sasl, the whole problem vanishes, and flash starts to work properly in all browsers (tried Chromium and Firefox in Slax). It's really strange since ldd won't show libsasl2.so as a dependency of the libflashplayer.so at all...
I'm going to email upstream (to Patrick, Slackware's author) to let him know he is missing libsasl2.so.* in aaa_elflibs. If there is a package aaa_elflibs, then it should absolutely have libsasl2 included.
User comments
This doesn't sound like a dependency issue to me. Did you install cyrus-sasl directly to the live filesystem with 'installpkg', or did you convert it into a slax bundle and activated it after a reboot?
Here's an alternate scenario: one of your gtk caches has not been updated (and an update is needed in order for flash to work). When you install cyrus-sasl, the install script might update this cache for you (look at the install script). Many slackware packages aren't well suited to installing to a fakeroot directory when it comes to running updates such as ca-certificates, desktop-database, gconf-schemas, etc -- the commands are run but the caches aren't copied from the real filesystem into the fakeroot, so the resulting slax bundle will be missing those files.
I hope that helps -- I may well be off-base here, and apologize if that's the case.
Actually the situation was following:
1) flash worked on my FULL INSTALL (Slackware 14) but the same flash didn't work on Slax. Conclusion: there must be something in Slackware which makes it work, which I am missing in Slax.
2) So I tried to install all packages from /l/ Slackware series (all libraries) in Slax, flash still didn't work. Conclusion: it is not a missing library from /l/
3) So I tried to install all packages from /n/ series and flash started to work properly in Slax. Conclusion: it is some missing package from /n/.
4) So I uninstalled all /n/ packages in Slax and tried one by one, and checked after each one installed if flash works. Flash started to work after cyrus-sasl. Conclusion: cyrus-sasl package is needed
5) So I booted fresh Slax, flash was not working. I manually copied ONLY libsasl2.so.* from the slackware package to /usr/lib{64,} in the running Slax and flash started to work. I removed libsasl2.* from the running Slax again and flash stopped to work again, as expected. Conclusion: libsasl2.so.* is needed, probably by some of the other libraries which are needed by libflashplayer.so ...
I didn't analyze further since I don't really care which of the dependency libraries of libflashplayer.so needed libsasl2. It is enough for me to know how to make flash work in Slax :)
Wow, what a pain in the ass! Nice work :). I hate debugging stuff like that, but sometimes it's the only way to track it down...
Great work Tomas!
I had flashplayer working in firefox without libsasl2.so up until somwhere around v18.0; then it quit & spewed out exactly the message to stdout that Tomas describes. I had not a clue until I read this thread. I'm on a "pruned" Slackware 14 distro. Just putting the sasl libs alone solved the problem.
Out of curiousity I ran ldd on every binary executable in the firefox dir & could NOT find a dependency. Weird!
But, thanks again.
What a strange bug... A library that should be included in aaa_elflibs is missing... I really do not know how you found out the solution if ldd did not show the library missing.