On Sat, May 07, 2011 at 09:12:36AM +1200, Michael Cree wrote: > On 07/05/11 07:11, Bob Tracy wrote: > >Just a quick note to let interested parties know I'm working on a 4.0.1 > >firefox build for alpha. > > Cool! Are you working only on upstream firefox or also on iceweasel in > experimental?
Just on the upstream... My ignorance concerning "the way things are done" as far as xulrunner-based builds is considerable: I don't understand the motivation for them vs. the traditional "monolithic" build. Frankly, figuring out how to do a monolithic build was more of a challenge than I wanted when I started doing this years ago. > (iceweasel 4.0.1-1 Debian changelog comments) > > So that will need some attention once you have firefox going ;-) Agreed, and that's part of why I use the upstream code for my local alpha builds: it makes for a better starting point for distro-specific packaging if the architecture-specific stuff makes it into the upstream code base. Beyond that, it's hard enough fighting the "neglect" in pure upstream code without factoring in the distro-specific modifications, the motivations for which are not always understood. > BTW, I don't think anyone has implemented the Alpha specific code for > IPC. I think firefox has to be compiled with --disable-ipc. IIRC, the > architecture specific code is a set of atomic operations, of which the > implementation probably could be based on the equivalent code in the > Linux kernel source. The is on my list of things to do but I doubt I > will get this far down my list for quite some time. Correct on the need for "--disable-ipc". Also have had to use "--disable-optimize" for quite some time on alpha. > >Unknown how much of the "nsThreadUtils*" patching is going to be > >necessary to get 4.0.1 running without the "illegal instruction" faults > >that plagued the 3.6.X builds. > > What is that patch? I have had builds up to 3.6.13 working fine but my > build of icecat 3.6.16 crashes on start up. Starting with 3.5.5 (per a debian-alpha "firefox-3.6.8" thread back in August 2010), some innocuous-looking but impactful changes were made to "xpcom/glue/nsThreadUtils.[cpp,h]". I reported getting a functional 3.5.5 build by replacing those files with their 3.5.4 counterparts, and every successful build I've done of a later version of firefox has been based on forward-porting the corresponding diffs. My target version back then was 3.6.8, and I went as far as 3.6.12 with the patches still being required. Not sure if they're needed for 4.0.1 yet: haven't gotten that far with the build. Here's the current "hard stop": (...) ExecutableAllocatorPosix.cpp c++ -o ExecutableAllocatorPosix.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -Ictypes/libffi/include -I. -I/opt/downloads/mozilla-2.0/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/opt/downloads/mozilla-2.0/firefox_obj/dist/include/nspr -I/opt/downloads/mozilla-2.0/js/src -I/opt/downloads/mozilla-2.0/js/src/assembler -I/opt/downloads/mozilla-2.0/js/src/yarr -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -mieee -pthread -pipe -DNDEBUG -DTRIMMED -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/ExecutableAllocatorPosix.pp /opt/downloads/mozilla-2.0/js/src/assembler/jit/ExecutableAllocatorPosix.cpp In file included from /opt/downloads/mozilla-2.0/js/src/assembler/jit/ExecutableAllocatorPosix.cpp:26: /opt/downloads/mozilla-2.0/js/src/assembler/jit/ExecutableAllocator.h:395:6: error: #error "The cacheFlush support is missing on this platform." gmake[4]: *** [ExecutableAllocatorPosix.o] Error 1 gmake[4]: Leaving directory `/opt/downloads/mozilla-2.0/firefox_obj/js/src' gmake[3]: *** [libs_tier_js] Error 2 gmake[3]: Leaving directory `/opt/downloads/mozilla-2.0/firefox_obj' gmake[2]: *** [tier_js] Error 2 gmake[2]: Leaving directory `/opt/downloads/mozilla-2.0/firefox_obj' gmake[1]: *** [default] Error 2 gmake[1]: Leaving directory `/opt/downloads/mozilla-2.0/firefox_obj' gmake: *** [build] Error 2 I won't have to time to do much with this for a few days :-(. I suspect a workaround would be to disable JIT. Also suspect that's not the preferred way to go :-). For what it's worth, the missing feature seems to reside entirely within "ExecutableAllocator.h", which is of a size that does not intimidate. > Do you do your build on the PWS433? A bit slow, eh? You said it :-). firefox-3.6.X builds have typically taken a bit over six hours to complete. > I've built an > alpha cross-compiler on my AMD64 machine so that I can do large builds > on the Alpha with distcc and distribute most of the compiling to the > AMD64 machine. There are times my fondness for antiques is inconvenient. The fastest machine in my stable doesn't represent enough of an increase in horsepower to warrant the trouble of setting up a cross-compilation environment. --Bob -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

