I was having some minor dbus issues between clementine and firefox. This prompted me to attempt to compile Firefox without dbus.
I found the mozilla esr17.0.9 source in slackbuilds. I made it through that with some fighting with some apparent memory problems on the final linking.
It works OK/Good, but it is branded nightly. I decided I wanted a real firefox brand and started searching for different source. Immediately I noticed that starting with version 18 and higher, two more modules are included in IPC (interprocess communication), 'unixsocket' and 'netd'. Not knowing what these are and how they effect security, I wonder if they should be included in the build (simple enough to strip them from the makefile)?
I also found that it's easy to eliminate some extraneous build options in configure:
Code:
./configure --prefix=/usr --disable-dbus --disable-gconf --disable-gnomevfs --enable-gstreamer
I know the above works. I would eventually like to test some other options. Which of these would be useful (or mess things up)?
Code:
./configure --prefix=/usr --disable-dbus --disable-gconf --disable-gnomevfs --disable-dbm --enable-gstreamer --enable-address-sanitizer --enable-llvm-hacks --enable-faststripe --disable-logging --enable-strip --enable-install-strip
I decided to try and compile v24 to see if it could be done and also gstreamer is supposed to work to give h.264/html5 support in this version.
1 gig of memory (and 1 gig of swap) isn't enough to compile v24. I finally got a straight answer out of ld, after fighting with it the same as v17.
I would usually get this:
Code:
INPUT("../../media/webrtc/signaling/signaling_sipcc/src/sipcc/cpr/linux/cpr_linux_string.o")
INPUT("../../media/webrtc/signaling/signaling_sipcc/src/sipcc/cpr/linux/cpr_linux_threads.o")
INPUT("../../media/webrtc/signaling/signaling_sipcc/src/sipcc/cpr/linux/cpr_linux_timers_using_select.o")
collect2: error: ld terminated with signal 9 [Killed]
make[3]: *** [libxul.so] Error 1
make[3]: Leaving directory `/home/slackjack/mozilla-release/toolkit/library'
make[2]: *** [libs_tier_platform] Error 2
make[2]: Leaving directory `/home/slackjack/mozilla-release'
make[1]: *** [tier_platform] Error 2
make[1]: Leaving directory `/home/slackjack/mozilla-release'
make: *** [default] Error 2
Or it would complain about some_file.o being truncated. I had this happening with v17 as well (had to finish compile in a straight terminal with no windows manager running). This isn't enough for v24.
It finally coughed up the real reason:
Code:
INPUT("../../media/webrtc/signaling/signaling_sipcc/src/sipcc/cpr/linux/cpr_linux_threads.o")
INPUT("../../media/webrtc/signaling/signaling_sipcc/src/sipcc/cpr/linux/cpr_linux_timers_using_select.o")
../../dist/lib/libjs_static.a: could not read symbols: Memory exhausted
collect2: error: ld returned 1 exit status
make[3]: *** [libxul.so] Error 1
make[3]: Leaving directory `/home/slackjack/mozilla-release/toolkit/library'
make[2]: *** [libs_tier_platform] Error 2
make[2]: Leaving directory `/home/slackjack/mozilla-release'
make[1]: *** [tier_platform] Error 2
There was also a plain syntax error in the javascript code (rawSource when it was supposed to be raw_source).. rawSource not defined, raw_source warning defined in header but not used). That didn't give me much confidence. Made it through that and the stripping of the .def files.
Anyway, I can't make it through the final linking on v24 with 1 gig of mem... and barely made it through v17 (with the same issues).
This means I'm apparently stuck with v17. Is there a better browser choice out there? I was looking at icecat which explains the branding issue.
https://en.wikipedia.org/wiki/GNU_IceCat
Or perhaps Midori browser?
Does anyone prefer one of these over Firefox? Any potential security issues with one or another?