Description of problem: After the latest update, firefox does not start. Running it from command line yields: $ firefox XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so: /usr/lib64/firefox/libxul.so: undefined symbol: PR_SyncMemMap Couldn't load XPCOM. Version-Release number of selected component (if applicable): firefox-40.0.3-1.fc22.x86_64 How reproducible: Always Steps to Reproduce: 1. Run firefox 2. 3. Actual results: $ firefox XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so: /usr/lib64/firefox/libxul.so: undefined symbol: PR_SyncMemMap Couldn't load XPCOM. $ Expected results: Firefox should have started Additional info: $ sudo dnf -y update xulrunner Last metadata expiration check performed 0:50:51 ago on Mon Sep 7 14:15:57 2015. Dependencies resolved. Nothing to do. Complete! $ rpm -q xulrunner xulrunner-38.0-1.fc22.x86_64
packages firefox and xulrunner are fine. $ sudo rpm -V firefox xulrunner $ (terminates without any output)
I just realized that libxul.so was linked to an old non-standard nspr instead of /lib64/libnspr4.so; not sure why this didn't happen with previous versions of firefox I had. $ ldd /usr/lib64/firefox/libxul.so | grep nspr libnspr4.so => /usr/local/lib/libnspr4.so (0x00007ff7e64a6000) $ rpm -qf /usr/local/lib/libnspr4.so file /usr/local/lib/libnspr4.so is not owned by any package $ rpm -qf /usr/local/lib/libnspr4.a file /usr/local/lib/libnspr4.a is not owned by any package $ ls -l /usr/local/lib/libnspr4.* -rwxr-xr-x. 1 root root 1458694 Nov 30 2013 /usr/local/lib/libnspr4.a -rwxr-xr-x. 1 root root 722514 Nov 30 2013 /usr/local/lib/libnspr4.so These had been around since Nov 2013. After removing these, things work.
You can also remove the xulrunner package, is not used any more.