SM 2.1b2 howto
March 17, 2011 —
BarryK
This is how I upgraded Wary and compiled SeaMonkey 2.1 beta2.
pcre 8.12
It probably was not necessary to upgrade pcre and glib, however these are required for latest WebkitGtk -- that I am also attempting to compile.
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --enable-utf8 --enable-unicode-properties --enable-pcregrep-libz
glib 2.28.3
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --disable-selinux --disable-fam --with-pcre=system
sqlite-amalgamation 3.7.5
For SM to use system sqlite, special config, as documented here:
http://www.linuxfromscratch.org/blfs/view/cvs/server/sqlite.html
# export CFLAGS='-O2 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_UNLOCK_NOTIFY'
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu
pixman 0.18.4
This version needed by upgraded cairo.
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --disable-sse2 --disable-vmx --disable-gtk
WARNING: get rid of old /usr/X11R7/lib/libpixman* before compile cairo.
cairo 1.10.2
# export ax_cv_c_float_words_bigendian=no
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --enable-ps --enable-pdf
...note, could consider --enable-xcb -- but may be good to leave off, as wary has different xcb pkg versions in Xorg upgrade pkgs.
seamonkey 2.1b2
Had to patch it, as documented here, to use with system cairo:
http://www.anticensure.com/?__new_url=aHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzODYx
Create .mozconfig:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm-release
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
ac_add_options --enable-system-hunspell
ac_add_options --localstatedir=/var
ac_add_options --sysconfdir=/etc
ac_add_options --prefix=/usr
ac_add_options --host=i486-pc-linux-gnu
ac_add_options --disable-dbus
ac_add_options --disable-accessibility
ac_add_options --with-system-bz2
ac_add_options --disable-updater
ac_add_options --disable-parental-controls
ac_add_options --enable-places
ac_add_options --disable-gnomevfs
ac_add_options --disable-gnomeui
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-cairo
ac_add_options --enable-strip
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --enable-libxul
ac_add_options --enable-storage
ac_add_options --disable-tests
ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey
ac_add_options --enable-jsd
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-crashreporter
ac_add_options --disable-libnotify
Note, got compile error with --disable-jsd.
# make -f client.mk
# cd objdir-sm-release
# make package
...makes tarball in mozilla/dist/
...works, but not very stable.
Comments
xcb and bad linking practiceUsername: technosaurus
yes, updating will probably break things as they are, because the pkgconfig files list explicit dependencies. during link time this causes all libs that are linked to store its symbol in the table even if it is not used directly. if you never upgrade libraries, you get a very minor start speed boost at the cost of increased size ... until you upgrade a library, then you take a huge speed hit and possible breakage. unfortunately xcb changes api a lot, I can see why no major toolkits have sustained an xcb port. I worked this out by removing all dependencies from the .pc files (the linker will find them at run time) and use the --as-needed LDFAG (it works even with significant library changes... you then only need to update the dependent libraries, not the apps) it ends up smaller and since none can get it just right on the first build, it ends up being faster and with less problems requiring major app rebuild. p.s. I started a patches thread in programming with a xlib patch that cuts x11 40% by removing the large locales that I think you remove anyways... also a glibc -Os compile patch
gdmap
Username: wuwei
"Hello Barry, I wonder if you could help me with this problem http://www.murga-linux.com/puppy/viewtopic.php?t=66271 or at least steer me in the right direction. I have replaced the warysave file with previous copies as far back as January, but the problem persists. Missing dependencies are not indicated. Just a strange occurrence in Wary and nowhere else. Thanks for your consideration. wuwei
re Gdmap
Username: BarryK
"wuwei, I was using Gdmap in Quirky yesterday, no problem. I don't know about Wary. Seems like a GTK version problem, as Wary as a later version of GTK 2.20.1, whereas Quirky has 2.16.6. Gdmap may have to be recompiled especially for Wary.
gdmap in Wary
Username: wuwei
"Barry I might have found the problem with gdmap. After changing the host name I couldn't print to pdf anymore. So I stumbled upon this thread http://murga-linux.com/puppy/viewtopic.php?t=64346 After following Roy's suggestion gdmap in Wary crashed repeatedly. Finally it dawned on me that the file .Xauthority might be the culprit for this behaviour. And it was. So I undid that and used rcrsn51's method on the same page. Now gdmap works fine again. Problem solved and thanks for your attention.
Tags: wary