SeaMonkey is a challenge #445

Open
opened 7 years ago by bkauler · 10 comments
bkauler commented 7 years ago (Migrated from github.com)
Owner

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:
5e3648f9c8

Heaps of patches for seamonkey:
d1c6298f8a

And here is the latest recipe for seamonkey:
7f9333924f

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[4]: *** [Unified_cpp_xpcom_base1.o] Error 1
make[4]: 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!

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: https://github.com/bkauler/sabotage/commit/5e3648f9c8490949105d480c1732642ae750b9a1 Heaps of patches for seamonkey: https://github.com/bkauler/sabotage/commit/d1c6298f8a6bbed05cad4878569fb416bc4dc95c And here is the latest recipe for seamonkey: https://github.com/bkauler/sabotage/commit/7f9333924f49050a27b29c7d7757aebe2d86bba3 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[4]: *** [Unified_cpp_xpcom_base1.o] Error 1 make[4]: 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!
rofl0r commented 7 years ago (Migrated from github.com)
Owner

isn't seamonkey == firefox ?

isn't seamonkey == firefox ?
rofl0r commented 7 years ago (Migrated from github.com)
Owner

mallinfo is some gnu extension for malloc, so the first thing to try is to disable all of the replacement malloc options

mallinfo is some gnu extension for malloc, so the first thing to try is to disable all of the replacement malloc options
rofl0r commented 7 years ago (Migrated from github.com)
Owner
aha, found a patch http://git.alpinelinux.org/cgit/aports/tree/community/firefox-esr/mallinfo.patch
bkauler commented 7 years ago (Migrated from github.com)
Owner

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.

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.
bkauler commented 7 years ago (Migrated from github.com)
Owner

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.

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.
bkauler commented 7 years ago (Migrated from github.com)
Owner

Woke up this morning, and seamonkey compiled and installed, zero errors!!!!

Here are more patches:
7f9333924f
d2564f639e

And here is the final recipe:
466389be0d

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:
https://bugzilla.mozilla.org/show_bug.cgi?id=738879
...it has been marked "WONTFIX".

At least one fix for disabling logging:
https://bugzilla.mozilla.org/show_bug.cgi?id=1129718
...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.

Woke up this morning, and seamonkey compiled and installed, zero errors!!!! Here are more patches: https://github.com/bkauler/sabotage/commit/7f9333924f49050a27b29c7d7757aebe2d86bba3 https://github.com/bkauler/sabotage/commit/d2564f639e4a780f18a2f2a10f583cc4a22a3d77 And here is the final recipe: https://github.com/bkauler/sabotage/commit/466389be0d498c8d459ec9914b1f9cf6940ec73d 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: https://bugzilla.mozilla.org/show_bug.cgi?id=738879 ...it has been marked "WONTFIX". At least one fix for disabling logging: https://bugzilla.mozilla.org/show_bug.cgi?id=1129718 ...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.
bkauler commented 7 years ago (Migrated from github.com)
Owner

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.

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.
rofl0r commented 7 years ago (Migrated from github.com)
Owner

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.

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.
don570 commented 7 years ago (Migrated from github.com)
Owner

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.

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.
rofl0r commented 7 years ago (Migrated from github.com)
Owner

@bkauler : any updates ? the search engine thing is no deal-breaker, i hope ?

@bkauler : any updates ? the search engine thing is no deal-breaker, i hope ?
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: sabotage-linux/sabotage#445
Loading…
There is no content yet.