To play some old flash animations I need a flash player for ubuntu 20.04. I was used to use Gnash, but this is no longer shipped with ubuntu. So I tried to compile it by myself, i.e. cloned the git repository, did
./autogen.sh
,./configure
and tried to install all missing libraries. That worked except for:ERROR: GST media handling requested but gstreamer-0.10+ not found Install it from http://www.gstreamer.net or .deb users: apt-get install libgstreamer0.10-dev or .rpm users: yum install gstreamer-devel or yast users: yast install gstreamer010-devel ERROR: Base plugins are required for gstreamer media! Install gstreamer-plugins-base from http://www.gstreamer.net or .deb users: apt-get install libgstreamer-plugins-base0.10-dev or .rpm users: yum install gstreamer-plugins-base-devel ERROR: No xulrunner development package is installed! Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner or .deb users: apt-get install xulrunner-dev or maybe : apt-get install npapi-sdk-dev or maybe : apt-get install firefox-dev or .rpm users: yum install xulrunner-devel or specify --disable-npapi
For the last one I didn’t find a
xulrunner-dev
or annpapi-dev
package in the ubuntu repositories, but installedfirefox-dev
. This didn’t work, so I used--disable-npapi
.For the
gstreamer
plugins I installed the version 1.0 instead. But if I domake
I get the following error message:make all-recursive make[1]: Entering directory '/home/myuser/build/gnash' Making all in desktop make[2]: Entering directory '/home/myuser/build/gnash/desktop' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/myuser/build/gnash/desktop' Making all in libdevice make[2]: Entering directory '/home/myuser/build/gnash/libdevice' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/myuser/build/gnash/libdevice' Making all in libbase make[2]: Entering directory '/home/myuser/build/gnash/libbase' sed -e 's|@DEFAULT_FLASH_PLATFORM_ID[@]|LNX|g' -e 's|@DEFAULT_FLASH_MAJOR_VERSION[@]|10|g' -e 's|@DEFAULT_FLASH_MINOR_VERSION[@]|1|g' -e 's|@DEFAULT_FLASH_REV_NUMBER[@]|999|g' -e 's|@DEFAULT_STREAMS_TIMEOUT[@]|60|g' -e 's|@DEFAULT_SOL_SAFEDIR[@]|~/.gnash/SharedObjects|g' './gnashrc.in' >gnashrc make[2]: Leaving directory '/home/myuser/build/gnash/libbase' Making all in libmedia make[2]: Entering directory '/home/myuser/build/gnash/libmedia' CXX libgnashmedia_la-AudioDecoderGst.lo In file included from gst/AudioDecoderGst.cpp:20: gst/AudioDecoderGst.h:27:10: fatal error: gst/gst.h: No such file or directory 27 | #include <gst/gst.h> | ^~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:1126: libgnashmedia_la-AudioDecoderGst.lo] Error 1 make[2]: Leaving directory '/home/myuser/build/gnash/libmedia' make[1]: *** [Makefile:1163: all-recursive] Error 1 make[1]: Leaving directory '/home/myuser/build/gnash' make: *** [Makefile:1071: all] Error 2
So how can I make
gnash
work on ubuntu 20.04.?
Answer
The compilation of Gnash on modern systems like 20.04 LTS is not possible because of changed APIs.
But you can use schroot container with Ubuntu 18.04 LTS with Gnash installed inside it as written below:
sudo apt-get install schroot debootstrap -y
cat <<EOF | sudo tee /etc/schroot/chroot.d/bionic.conf
[bionic]
description=Ubuntu 18.04 bionic
directory=/srv/chroot/bionic
root-users=$USER
type=directory
users=$USER
EOF
sudo mkdir -p /srv/chroot/bionic
sudo debootstrap bionic /srv/chroot/bionic
cat <<EOF | sudo tee /srv/chroot/bionic/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu bionic main universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
EOF
schroot -c bionic -u root apt-get update
schroot -c bionic -u root apt-get install gnash
To run it use command below:
schroot -c bionic -u $USER env DISPLAY=:0.0 gnash path/to/file.swf
Attribution
Source : Link , Question Author : Julia , Answer Author : N0rbert