-
-
Save joekiller/4144838 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# GTK+ and Firefox for Amazon Linux | |
# Written by Joseph Lawson 2012-06-03 | |
# http://joekiller.com | |
# http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/ | |
# chmod 755 ./gtk-firefox.sh | |
# sudo ./gtk-firefox.sh | |
TARGET=/usr/local | |
function init() | |
{ | |
export installroot=$TARGET/src | |
export workpath=$TARGET | |
yum --assumeyes install make libjpeg-devel libpng-devel \ | |
libtiff-devel gcc libffi-devel gettext-devel libmpc-devel \ | |
libstdc++46-devel xauth gcc-c++ libtool libX11-devel \ | |
libXext-devel libXinerama-devel libXi-devel libxml2-devel \ | |
libXrender-devel libXrandr-devel libXt dbus-glib \ | |
libXdamage libXcomposite | |
mkdir -p $workpath | |
mkdir -p $installroot | |
cd $installroot | |
PKG_CONFIG_PATH="$workpath/lib/pkgconfig" | |
PATH=$workpath/bin:$PATH | |
export PKG_CONFIG_PATH PATH | |
bash -c " | |
cat << EOF > /etc/ld.so.conf.d/firefox.conf | |
$workpath/lib | |
$workpath/firefox | |
EOF | |
ldconfig | |
" | |
} | |
function finish() | |
{ | |
cd $workpath | |
wget -r --no-parent --reject "index.html*" -nH --cut-dirs=7 http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/ | |
tar xvf firefox* | |
cd bin | |
ln -s ../firefox/firefox | |
ldconfig | |
} | |
function install() | |
{ | |
wget $1 | |
FILE=`basename $1` | |
if [ ${FILE: -3} == ".xz" ] | |
then tar xvfJ $FILE | |
else tar xvf $FILE | |
fi | |
SHORT=${FILE:0:4}* | |
cd $SHORT | |
./configure --prefix=$workpath | |
make | |
make install | |
ldconfig | |
cd .. | |
} | |
init | |
install ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz | |
install http://download.savannah.gnu.org/releases/freetype/freetype-2.4.9.tar.gz | |
install http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.9.0.tar.gz | |
install http://ftp.gnome.org/pub/gnome/sources/glib/2.32/glib-2.32.3.tar.xz | |
install http://cairographics.org/releases/pixman-0.26.0.tar.gz | |
install http://cairographics.org/releases/cairo-1.12.2.tar.xz | |
install http://ftp.gnome.org/pub/gnome/sources/pango/1.30/pango-1.30.0.tar.xz | |
install http://ftp.gnome.org/pub/gnome/sources/atk/2.4/atk-2.4.0.tar.xz | |
install http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.1.tar.xz | |
install http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.10.tar.xz | |
finish | |
# adds the /usr/local/bin to your path by updating your .bashrc file. | |
cat << EOF >> ~/.bashrc | |
PATH=/usr/local/bin:\$PATH | |
export PATH | |
EOF |
much faster with
# make no job = no processor * 1.5
make -j$((`cat /proc/cpuinfo | grep processor | wc -l`*1.5))
That firefox url no longer works as Mozilla had moved the file to CDNs.
Updating the url to https://download.mozilla.org/?product=firefox-23.0.1&os=linux&lang=en-US might (not) work. I opted to manually "executing" the finish routine.
Thx a bunch bro!
UPDATE:
new url: http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/firefox-23.0.1.tar.bz2
Hello,
Note: I'm using an EC2 with the Amazon AMI.
I've run the provided gtk-firefox.sh file which apparently finished successfully extracting the firefox[XX].tar.bz2 compressed file.
After executing - yum install Xvfb and Xvfb :1 -screen 0 1280x768x24 & - commands I tried to start firefox:
find / -name firefox
cd /usr/local/bin/
./firefox
But I get:
XPCOMGlueLoad error for file /usr/local/firefox/libxul.so:
libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
I've tried to find that dependency searching in Google with no luck.
1.- I tried to install it through a .rpm file:
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/updates/16/x86_64/gtk2-2.24.8-3.fc16.x86_64.rpm
2.- I tried to install it through 'yum install' following a few packages I've found in some sites, but when I'm still getting the same error message when I try to start firefox:
- yum install gtk2.i686 libXt.i686 gtk2-engines.i686 libcanberra-gtk2.i686 PackageKit-gtk-module.i686
- yum -y install gtk2
Anyone can please tell me if I'm missing something or I'm doing something wrong?
I'd really appreciate.
Thank you.
Hi michaelus1976,
I had the same issue, also using EC2.
sudo yum install libXdamage.x86_64
sudo yum install libXcomposite.x86_64
solved it for me.
Regards
I am getting this error when I try to run this script... any ideas? The link listed to the atk package seems to still be active.
configure: error: Package requirements (glib-2.0 >= 2.27.3 atk >= 1.29.2 pango >= 1.20 cairo >= 1.6 gdk-pixbuf-2.0 >= 2.21.0) were not met:
No package 'atk' found
No package 'gdk-pixbuf-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop.
EOF >> ~/.bashrc
PATH=/usr/local/bin:$PATH
export PATH
The whole setup worked perfectly for me, however after a recent update I'm getting following error on AWS EC2 Linux:
Xvfb: symbol lookup error: Xvfb: undefined symbol: pixman_glyph_cache_create
Any ideas on how to fix this?
Thank you!
I'm getting the same error on the same environment as ozhogin. Seems to be a recent problem with xvfb.
It is trying to load wrong pixman so. Delete /usr/local/lib/libpixman-1.so.0 and try again, it will make Xvfb use distribution pixman library which has this symbol.
Having the following error and can't find a way around it:
XPCOMGlueLoad error for file /usr/local/firefox/libxul.so:
libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
martinbernemann's fix yielded no success :(
Worked for me just now on an Amazon Linux ami. I needed to test out my site on the east coast from the west coast. After I installed Firefox, I did ssh -X into the ec2 instance and launched Firefox, there were a couple of warnings but basically it started up fine. Thanks for the script!
I have the same error as Eric Prouty. Any luck in resolving that?
configure: error: Package requirements (glib-2.0 >= 2.27.3 atk >= 1.29.2 pango >= 1.20 cairo >= 1.6 gdk-pixbuf-2.0 >= 2.21.0) were not met:
No package 'atk' found
No package 'gdk-pixbuf-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop.
EOF >> ~/.bashrc
PATH=/usr/local/bin:$PATH
export PATH
@joekiller thank you very much for this script.
How to upgrade latest firefox?
After installing on AWS EC2 Linux server using
https://ftp.mozilla.org/pub/firefox/releases/23.0.1/linux-x86_64/en-US/firefox-23.0.1.tar.bz2
I can't connect through SSL anymore i.e. I get this error after running curl -v https://www.google.com (was working fine before I run sudo ./gtk-firefox.sh, alredy tried on a new "clean" instance)
Here the verbose response
- Rebuilt URL to: https://www.google.com/
- Trying 216.58.210.196...
- Connected to www.google.com (216.58.210.196) port 443 (#0)
- Initializing NSS with certpath: sql:/etc/pki/nssdb
- NSS error -12168 (SSL_ERROR_INVALID_VERSION_RANGE)
- SSL version range is not valid.
- Closing connection 0
curl: (35) SSL version range is not valid.
I had this error also on a previous instance while installing firefox 18.
Moreover I get "No package available for libstdc++46-devel" at the beginnign of the installation.
No luck with sudo yum update.
Any clue on how to restore the right SSL version range or about what is going on?
The only difference is that the link for download firefox is:
http://download.cdn.mozilla.net/pub/firefox/releases/43.0/linux-x86_64/en-US/
In the rest, everything is up to date and functional
XPCOMGlueLoad error for file /opt/firefox-38.0/libxul.so:
libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
RPM for libgtk-x11-2.0.so.0 library is gtk2-2.24.23-6.el6.i686, which is not present on Amazon Linux. Its present on CentOS base repo.
I am still not able to fix it... any help much appreciated.
Out-dated. Dont use the script, use Amazon Linux firefox-compat package instead:
Installing the EPLL yum repository:
https://lambda-linux.io/#getting-started
Installing Firefox on Amazon Linux:
https://lambda-linux.io/blog/2015/01/28/announcing-firefox-browser-support-for-amazon-linux/
any one can install libgtk-x11-2.0.so.0 in Amazon Linux yet?
Can confirm that the firefox-compat package which @basilmusa mentioned works like a charm with the last version of 45 ESR.
However, I'm in the situation that I need a newer version of firefox (52 would be great). Has anybody had success with anything beyond 45?
--2017-10-19 05:21:35-- http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/
Распознаётся download.cdn.mozilla.net (download.cdn.mozilla.net)… 52.84.23.224
Подключение к download.cdn.mozilla.net (download.cdn.mozilla.net)|52.84.23.224|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 302 Moved Temporarily
Адрес: http://download-origin.cdn.mozilla.net/pub/firefox/releases/latest/linux-x86_64/en-US/ [переход]
--2017-10-19 05:21:35-- http://download-origin.cdn.mozilla.net/pub/firefox/releases/latest/linux-x86_64/en-US/
Распознаётся download-origin.cdn.mozilla.net (download-origin.cdn.mozilla.net)… 54.230.147.70
Подключение к download-origin.cdn.mozilla.net (download-origin.cdn.mozilla.net)|54.230.147.70|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 404 Not Found
:(
failed with error:
--2020-06-23 10:09:40-- http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/
Resolving download.cdn.mozilla.net (download.cdn.mozilla.net)... 104.110.245.57, 2600:9000:21ca:a800:1d:f899:9cc6:5981, 2600:9000:21ca:ca00:1d:f899:9cc6:5981, ...
Connecting to download.cdn.mozilla.net (download.cdn.mozilla.net)|104.110.245.57|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://productdeliveryorigin-default.prod.mozaws.net/pub/firefox/releases/latest/linux-x86_64/en-US/ [following]
--2020-06-23 10:09:40-- http://productdeliveryorigin-default.prod.mozaws.net/pub/firefox/releases/latest/linux-x86_64/en-US/
Resolving productdeliveryorigin-default.prod.mozaws.net (productdeliveryorigin-default.prod.mozaws.net)... 34.195.60.137, 34.198.213.241, 34.239.61.227, ...
Connecting to productdeliveryorigin-default.prod.mozaws.net (productdeliveryorigin-default.prod.mozaws.net)|34.195.60.137|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-06-23 10:09:41 ERROR 404: Not Found.
tar: firefox*: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
I'm also encountering the same issue, and after i installed from the latest firefox version.
I am getting this error-
firefox: symbol lookup error: /lib64/libgtk-3.so.0: undefined symbol: g_log_structured_standard
updated with dbus-glib requirement