Gnash 0.8.8 was recently released, with claims of “full youtube support”, so I gave it a spin. I immediately hit this build error:
make: Entering directory `/usr/src/gnash-0.8.8/gui' CXXLD gtk-gnash../librender/.libs/libgnashrender.so: undefined reference to `gnash::rgba::set_lerp(gnash::rgba const&, gnash::rgba const&, float)'collect2: ld returned 1 exit statusmake: *** [gtk-gnash] Error 1make: Leaving directory `/usr/src/gnash-0.8.8/gui'
Odd… the symbol is defined, it’s in libgnashcore.so, and the link does link against that library. Turns out the culprit is the “–enable-visibility” argument to configure. That’s right – Gnash fails to build if you enable enhanced symbol visibility support (because it makes a symbol non-visible). What a joke.
Speaking of configuring Gnash, what exactly is this:
WARNING: The BOOST serialization library is recommended! Install it from http://www.boost.org or .deb users: apt-get install libboost-serialization-dev Gnash will compile anyway, but not all tests will work.
… meant to mean?? Does the library actually add functionality, or is it just needed for a few tests?
Anyway, I eventually got it working, and I’m pleased to report that it does play Youtube videos as advertised (not always perfectly, but it’s good enough). It still doesn’t handle a few other flash applets that I’m aware of, however, including this blog’s access statistics graph.
Update 15/09/2010: In a strange twist, WordPress have upgraded their graph software and Gnash seems to run the new version reasonably well.
Update 25/09/2010: On closer inspection, the new WordPress graphing software doesn’t use Flash, and that’s why it runs perfectly.