Linux – AWS EC2 Linux headless Firefox issue: Xvfb: undefined symbol: pixman_glyph_cache_create

amazon ec2amazon-web-servicesfirefoxlinuxxvfb

I have been using AWS EC2 Linux for a while for a headless Firefox/Selenium task. I built it using the instructions from http://itsallabtamil.blogspot.com/2013/02/setting-up-chrome-firefox-ec2-selenium-java.html which in turn uses this script to get GTK+ and Firefox on AWS EC2 Linux http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/

Yesterday, I updated all the packages "sudo yum update" and I'm no longer able to run Firefox! Have been bashing my head on the wall for past 12 hours, and can't get it resolved. Basically, if I start Xvfb by saying:

Xvfb :1 -screen 0 1280x768x24

and then try to launch Firefox by doing

firefox
export DISPLAY=:1

in a different terminal I get following error in the terminal of Xvfb:

Xvfb: symbol lookup error: Xvfb: undefined symbol: pixman_glyph_cache_create

And the terminal with Firefox says:

Xlib:  extension "RANDR" missing on display ":1".
firefox: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.

After a couple hours of googling I found that first line is a warning, and can be ignored, but the second line must be connected to the undefined symbol error, I assume.
I tried rebuilding the instance from scratch (note, the URL for Fox needs to be updated in the script) – same error.

Any help will be greatly appreciated!

Best Answer

It is trying to load wring 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.

Related Question