Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SeaMonkey is a challenge #445

Open
bkauler opened this issue May 31, 2016 · 10 comments
Open

SeaMonkey is a challenge #445

bkauler opened this issue May 31, 2016 · 10 comments

Comments

@bkauler
Copy link

bkauler commented May 31, 2016

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
Copy link
Member

rofl0r commented May 31, 2016

isn't seamonkey == firefox ?

@rofl0r
Copy link
Member

rofl0r commented May 31, 2016

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

@rofl0r
Copy link
Member

rofl0r commented May 31, 2016

@bkauler
Copy link
Author

bkauler commented May 31, 2016

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
Copy link
Author

bkauler commented May 31, 2016

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
Copy link
Author

bkauler commented May 31, 2016

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
Copy link
Author

bkauler commented Jun 1, 2016

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
Copy link
Member

rofl0r commented Jun 1, 2016

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
Copy link

don570 commented Jun 1, 2016

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
Copy link
Member

rofl0r commented Jun 9, 2016

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants