How to install Iceweasel 3.5 on Lenny

In my previous posts about the release of Iceweasel 3.5, some people succeeded in installing Iceweasel on Lenny by rebuilding xulrunner-1.9.1 (not without some trouble).

Actually, thanks to the improved dpkg-shlibdeps, it's almost painless to install the packages from testing/experimental. The old days where pulling a package from testing or unstable would pull a new libc6 and a bunch of other packages are long gone (though, as we will see, things could be even better).

So, if you are a Lenny user, are not afraid with a few packages from testing on your system, and want to use Iceweasel 3.5, here are the steps you can go through to install it:

  • Add the testing and experimental sources to your apt sources:
    $ echo deb http://ftp.fr.debian.org/debian testing main > /etc/apt/sources.list.d/testing.list
    $ echo deb http://ftp.fr.debian.org/debian experimental main > /etc/apt/sources.list.d/experimental.list
  • Set the default distribution to "stable":
    $ echo 'APT::Default-Release "stable";' > /etc/apt/apt.conf.d/default
  • apt-get update
  • Install a few dependencies from "testing":
    $ apt-get install -t testing libstartup-notification0 libsqlite3-0 libnss3-1d libhunspell-1.2-0 libasound2
  • Install iceweasel:
    $ apt-get install iceweasel/experimental

The latter won't work until xulrunner-1.9.1 reaches experimental (Update: it got there), but the following alternative procedure will do in the meanwhile:

  • Tentatively install xulrunner-1.9.1 (provided you downloaded it following the previous instructions):
    $ dpkg -i xulrunner-1.9.1_1.9.1-1_*.deb libmozjs2d_1.9.1-1_*.deb
    You will get dependency problems, ignore them.
  • Fix the dependency problems:
    $ apt-get -f install
    This will install all the required packages from Lenny.
  • Install iceweasel:
    $ apt-get install iceweasel/experimental

Now, the sad thing about this, is that technically, you shouldn't need to install libstartup-notification0 and libasound2 from testing at all. The same might even apply for libhunspell-1.2-0. The reason is that technically, xulrunner-1.9.1, which has a versioned dependency on these libraries, doesn't actually require the versions it demands, and earlier versions could work as well. The ones from Lenny should be enough.

The reason why this happens is that these libraries don't provide symbols files, which are the basis for the improved dpkg-shlibdeps to make better dependencies, ones that would allow xulrunner-1.9.1 from experimental to work with Lenny's libstartup-notification0, libasound2, and libhunspell-1.2-0.

2009-07-08 22:14:29+0900

firefox, xulrunner

Both comments and pings are currently closed.

16 Responses to “How to install Iceweasel 3.5 on Lenny”

  1. Stephan Says:

    Thanks for all your work on Iceweasel! I would be curious to
    hear your thoughts on why symbols files still have not been widely adopted in Debians two years after they were introduced.

  2. DeepDayze Says:

    The packages will NOT install for me as outlined. When apt-get -f install it will remove the xulrunner package.

    the deps in testing require new xcb* packages as well. These are new xorg packages and not sure if they are compatible with lenny’s version of xorg.

    If possible, can you or anyone who successfully built iceweasel 3.5 and its deps for lenny contribute the backported package for others who run lenny?

    Thanks in advance

  3. glandium Says:

    DeepDayze: Did you install libmozjs2d ? For the xcb packages, they are just fine.

  4. Alex Says:

    DeepDayze: http://glandium.org/blog/?p=391. I’ve just rebuilt from sources sqlite3, libnss and libnspr (everything from testing), and xulrunner-1.9.1 was built successfully. Then I installed Iceweasel 3.5 from here as Mike suggested, and it seems to work fine.

  5. johnbeavis Says:

    I went the harder route and rebuilt libnss3, libnspr4 and sqlite3 from unstable on Lenny. I was able to build and install both xulrunner and iceweasel. Thanks for your work!

  6. egallego Says:

    Just for the record, I also rebuilt sqlite3, nspr4 and nss3.

    The following changes are needed:

    – xulrunner 1.9.1 must build depend on nspr >= 4.8 and nss3 >= 3.12. I guess those are release critical.

    – I had to disable the test in debian/rules given that xvfb hanged the cowbuilder.

    Thanks for you work Mike.

  7. pete Says:

    thanks for your hard work and instructions.

  8. DeepDayze Says:

    I can’t seem to find the source deb for xulrunner-1.9.1…can anyone direct me to the source?

  9. glandium Says:

    DeepDayze:
    echo deb-src http://ftp.fr.debian.org/debian experimental main > /etc/apt/sources.list.d/experimental-src.list
    apt-get update
    apt-get source xulrunner-1.9.1

  10. Alex Says:

    By the way, about “reentrant” programs :)

    OppTupacShakur mentioned at /blog/?p=391 that one can see obviuos error messages when compiling xulrunner-1.9.1.

    I call this “reentrant” like in multi-threaded programming :) . It means that the same source code can be safely rebuilt multiple times with dpkg-buildpackage, because dpkg-buildpackage will clean all garbage every time and the program doesn’t use different hacks in Makefile and other files so it can be safely recompiled several times.

    Xulrunner-1.9.1 IS NOT “reentrant”. If you try to rebuild it several times from the same directory, it most probably will fail with that error messages. You need to remove entire directory and repeat all steps to build the package again (unpack, apply patch, dpkg-buildpackage).

    Mike, I suppose it to be a major bug. Could you please look at it?

  11. DeepDayze Says:

    Thanks, glandium! Finally got xulrunner-1.9.1 to build on lenny, and then I was able to install IW 3.5.

    Thanks for your help :)

  12. Sistemator » Iceweasel 3.5 Says:

    […] install iceweasel/experimental Fuentes : glandium / antoniomtz     Categories: Informatica Tags: Comments (0) Trackbacks […]

  13. Iceweasel 3.5 on Debian Lenny » Oojah! Says:

    […] In the past I have used Swiftweasel, but a 3.5 current has not been released yet.  Finaly I found glandium’s blog entry for installing Iceweasel 3.5 from experimental. I found I had to midify his instruction just […]

  14. Alex Says:

    3.5.1 is out, we’ll for it in experimental :)

  15. glassdimly Says:

    I’ve installed Iceweasel/Firefox 3.5 on Lenny and posted my experience here:

    http://forums.debian.net/viewtopic.php?f=6&t=41344&start=15

    For anyone interested in the follow up.

  16. Cómo instalar iceweasel 3.5 en Debian Lenny estable - Linux, computación y más… Says:

    […] Vía glandium […]