Lightspark on GNU/Linux Trisquel | lduros.net

# Lightspark on GNU/Linux Trisquel

May 29, 2011

DISCLAIMER: At this time, Lightspark still does not work on the majority of Flash-based apps and animations.

A while ago I have decided to depart from Ubuntu for a bit and try out Trisquel, which is based on Ubuntu but 100% free. So far it has been fun, the community is a lot more ethically-oriented and smaller than Ubuntu, while still retaining the advantage of using all the knowledge-base available with Ubuntu.

I haven't totally given up non-free software though; for instance I had to build the drivers for my wireless, which has a special proprietary license. (Unlike Ubuntu, there is no package for it or for anything that isn't 100% free.) Getting as close as possible to using as much free as possible is an interesting exercise. Another issue I have is that I've been using Flash and Actionscript 3.0 as a developer and was looking for an alternative. Gnash is available but it doesn't run ActionScript 3.0 apps and animations. That's when I stumbled upon Lightspark, a much needed modern alternative to Flash Player in C++. However, Lightspark isn't not currently available as a package in Trisquel and building it from the source is rather time consuming since it has a lot of dependencies. I've raised the question on the Trisquel mailing list (there might be a reason to this), but I thought I'd share the small issues I had building it.

The readme text lists a lot of dependencies beyond build-essential and the like: llvm-2.7, sdl, opengl, curl, zlib, libavcodec, ftgl, libglew, fontconfig, pcre, pulseaudio-lib, xulrunner-dev, cmake, nasm, and a recent version of libxml++ I used aptitude search .... to find the most appropriate ones. I didn't have libjpeg-dev installed and cmake would have an issue with that. I also had to install libboost-all-dev.

Finally, once everything seemed to be ok, I still had a problem with libxml. Here is what I'd get:

    -- checking for module 'libxml++-2.6>=2.33.1'
    --   package 'libxml++-2.6>=2.33.1' not found
    CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:266 (message):
        A required package was not found
    Call Stack (most recent call first):
    /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:320 (_pkg_check_modules_internal)
      CMakeLists.txt:156 (pkg_check_modules)

Nothing too hard to figure out here, the line 156 has an issue:

    pkg_check_modules(XMLPP REQUIRED libxml++-2.6>=2.33.1)

Replacing line 156 will allow cmake to configure it properly:

    pkg_check_modules(XMLPP REQUIRED libxml++-2.6)

After that, although sudo make install was supposed to install the plugin system-wide, I still didn't see it in my plugins. To see it appear in my plugin window and in about:plugins, I copied the following file to ~/.mozilla/plugins:

    lightspark/objs/x86_64/Release/lib/liliblightsparkplugin.so

I can see it now, and it's listed as:

    Shockwave Flash

    File: liblightsparkplugin.so
    Version:
    Shockwave Flash 10.2 r480