Zbuduj zgrzytanie na Ubuntu 20.04
Aby odtworzyć stare animacje flash, potrzebuję odtwarzacza Flash dla Ubuntu 20.04. Byłem przyzwyczajony do używaniahttps://www.gnu.org/software/gnash/, ale to nie jest już dostarczane z Ubuntu. Więc starałem się skompilować go przez siebie, czyli klonuje repozytorium GIT, prawda ./autogen.sh
, ./configure
i próbowałem zainstalować wszystkie brakujące biblioteki. To zadziałało z wyjątkiem:
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
W ostatnim przypadku nie znalazłem pakietu xulrunner-dev
lub npapi-dev
w repozytoriach Ubuntu, ale zainstalowałem firefox-dev
. To nie zadziałało, więc użyłem --disable-npapi
.
gstreamer
Zamiast tego dla wtyczek zainstalowałem wersję 1.0. Ale jeśli tak się stanie make
, otrzymam następujący komunikat o błędzie:
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
Jak więc mogę gnash
pracować nad Ubuntu 20.04.?
Odpowiedzi
Kompilacja Gnash na nowoczesnych systemach, takich jak 20.04 LTS, nie jest możliwa z powodu zmienionych API.
Ale możesz użyć https://wiki.debian.org/Schroot kontener z Ubuntu 18.04 LTS z zainstalowanym Gnash, jak napisano poniżej:
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
Aby go uruchomić użyj poniższego polecenia:
schroot -c bionic -u $USER env DISPLAY=:0.0 gnash path/to/file.swf
Najłatwiejszym i najskuteczniejszym sposobem jest pobranie „Samodzielnej wersji Adobe Flash Player” bezpośrednio z https://www.adobe.com/support/flashplayer/debug_downloads.html Przewiń w dół, aby znaleźć wersję 32/64-bitową systemu Linux.
Podczas wyszukiwania podanego linku zauważyłem, że to Adobe https://www.adobe.com/products/flashplayer/end-of-life.html# Odtwarzacz Flash
Important Reminder: Flash Player’s end of life is December 31st, 2020. Please see the Flash Player EOL Information page for more details.
