SeaMonkey is a challenge
I have been at it for the last few days, trying to compile SeaMonkey. Many patches created, and I'm almost there, but have got stuck.
sqlite needs another change to its recipe, for seamonkey to use it:
Heaps of patches for seamonkey:
And here is the latest recipe for seamonkey:
It compiles for a very long time, must be close to the end. Pity that I have got stuck.
Here is what the log is showing:
c++ -o Unified_cpp_xpcom_base1.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /src/build/seamonkey/seamonkey-2.40/mozilla/config/gcc_hidden.h -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base -I. -I/src/build/seamonkey/seamonkey-2.40/moz-build-dir/ipc/ipdl/_ipdlheaders -I/src/build/seamonkey/seamonkey-2.40/mozilla/ipc/chromium/src -I/src/build/seamonkey/seamonkey-2.40/mozilla/ipc/glue -I/src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base/../build -I/src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/ds -I../../dist/include -I/src/build/seamonkey/seamonkey-2.40/moz-build-dir/dist/include/nspr -I/src/build/seamonkey/seamonkey-2.40/moz-build-dir/dist/include/nss -I/include/pixman-1 -fPIC -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_xpcom_base1.o.pp -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -D_GNU_SOURCE -fdata-sections -ffunction-sections -Os -g0 -fno-unwind-tables -fno-asynchronous-unwind-tables -Wa,--noexecstack -mtune=generic -I/src/build/seamonkey/seamonkey-2.40/mozilla/include -s -Wl,--gc-sections -Wl,-z,relro,-z,now -Wl,--no-keep-memory -Wl,-rpath-link=/lib -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -fomit-frame-pointer -I/src/build/seamonkey/seamonkey-2.40/mozilla/widget/gtk/compat -I/include/gtk-unix-print-2.0 -I/include/atk-1.0 -I/include/harfbuzz -I/include/gtk-2.0 -I/lib/gtk-2.0/include -I/include/pango-1.0 -I/include/cairo -I/include/pixman-1 -I/include/freetype2 -I/include/gdk-pixbuf-2.0 -pthread -I/include/glib-2.0 -I/lib/glib-2.0/include -I/include -I/include/libpng12 -Wshadow /src/build/seamonkey/seamonkey-2.40/moz-build-dir/xpcom/base/Unified_cpp_xpcom_base1.cpp In file included from /src/build/seamonkey/seamonkey-2.40/moz-build-dir/xpcom/base/Unified_cpp_xpcom_base1.cpp:20:0: /src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base/nsMemoryReporterManager.cpp: In function 'nsresult SystemHeapSize(int64_t*)': /src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base/nsMemoryReporterManager.cpp:183:21: error: variable 'SystemHeapSize(int64_t*)::mallinfo info' has initializer but incomplete type /src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base/nsMemoryReporterManager.cpp:183:37: error: invalid use of incomplete type 'struct SystemHeapSize(int64_t*)::mallinfo' /src/build/seamonkey/seamonkey-2.40/mozilla/xpcom/base/nsMemoryReporterManager.cpp:183:12: error: forward declaration of 'struct SystemHeapSize(int64_t*)::mallinfo' make: *** [Unified_cpp_xpcom_base1.o] Error 1 make: Leaving directory `/src/build/seamonkey/seamonkey-2.40/moz-build-dir/xpcom/base'
I have given up, for now anyway. If anyone else would like to take up the challenge, go for it!
isn't seamonkey == firefox ?
mallinfo is some gnu extension for malloc, so the first thing to try is to disable all of the replacement malloc options
Thanks very much for that patch!
I was worn out, but now able to go on. Applied the patch and ran "make" inside /src/build/seamonkey/seamonkey-2.40, to keep going from before. Yes, the patch works, now waiting to see how far it gets...
Regarding SeaMonkey versus Firefox, SeaMonkey is a complete suite: browser, WYSIWYG html editor, mail and news client, addressbook and IRC client.
It does sync with Firefox code, but is different, and has different requirements to compile.
Compile stopped again, I figured out another patch, then it stopped with a "jemalloc" related fault -- well the sabotage firefox recipe has "--disable-jemalloc", so I have also done that, and started the build from scratch.
God, its 2.30am. The build can continue while I sleep.
Woke up this morning, and seamonkey compiled and installed, zero errors!!!!
And here is the final recipe:
I don't yet know if it won't crash in a burning heap at startup. If so, that too will be conquered.
Note, the configure options have "--enable-ldap" and "--enable-logging". I would rather have disabled both of those, but back on a glibc-based Linux, compile failed when they were disabled.
Rene, the main guy at T2, spent some time on the ldap problem.
So, I set them both enabled on the musl build. haven't tried otherwise.
I just remembered, there is also "--enable-jsd", we were forced to enable that also, back a few versions. Ah, here it is:
...it has been marked "WONTFIX".
At least one fix for disabling logging:
...I might give --disable-logging a go. It was a couple of versions ago, I think, when I was forced to enable it. I want to minimise writes when running from a Flash stick, and also unnecessary chewing up the limited space.
...oh, just read the last comment in that link, it still isn't fixed.
Just a follow-up, yes, SeaMonkey works. Running it now on my Flash stick.
I don't know if it is just a matter of configuring, but typing in a keyword in the URL-bar and hitting the "Search" button does not work. It should launch one of the search engines.
No, the search engine mechanism is broken. In Preferences, it shows no search engines available. I tried to install one as an add-on, nothing happened.
glad to hear. i will probably be without internet for the next week, so if you have questions someone else in our irc channel might be able to help.
I have been using Barry's Xerus installed on a USB card adaptor. The LED light flashes
on and off when I have the browser open. Perhaps that is the logging issue of seamonkey
that Barry mentioned.
Deleting a branch is permanent. It CANNOT be undone. Continue?