<div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">Here is the userland component Makefile I tried to use, very simple.</div><div><font face="Verdana"><span style="font-size: 12px;">Had to specify NAME_MAX.</span></font><br><br><div><span style="font-size: 12px;"><font face="courier new">#</font></span></div><div><span style="font-size: 12px;"><font face="courier new"># Copyright 2013 Sonicle S.r.l. All rights reserved.</font></span></div><div><span style="font-size: 12px;"><font face="courier new">#</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">include ../../make-rules/shared-macros.mk</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_NAME=         firefox</font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_VERSION=      20.0.1</font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_SRC=          mozilla-release</font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_ARCHIVE=      $(COMPONENT_NAME)-$(COMPONENT_VERSION).source.tar.bz2</font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_ARCHIVE_HASH= sha1:8d8f775293982f2526bb2da5dc743cd20a47af47</font></span></div><div><span style="font-size: 12px;"><font face="courier new">COMPONENT_ARCHIVE_URL=  http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/$(COMPONENT_ARCHIVE)</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">include ../../make-rules/prep.mk</font></span></div><div><span style="font-size: 12px;"><font face="courier new">include ../../make-rules/configure.mk</font></span></div><div><span style="font-size: 12px;"><font face="courier new">include ../../make-rules/ips.mk</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">CFLAGS += -DNAME_MAX=512</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">build:          $(BUILD_32_and_64)</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">install:        $(INSTALL_32_and_64)</font></span></div><div><span style="font-size: 12px;"><font face="courier new"><br></font></span></div><div><span style="font-size: 12px;"><font face="courier new">include ../../make-rules/depend.mk</font></span></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">Here also I had to apply some patches.<br></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div><div><font face="Verdana"><span style="font-size: 12px;">=build_config.h=</span></font><br><br><div><font face="Verdana"><span style="font-size: 12px;">--- mozilla-release/ipc/chromium/src/build/build_config.h       Wed May  8 13:45:40 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+++ mozilla-release/ipc/chromium/src/build/build_config.h       Wed May  8 13:47:38 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">@@ -19,6 +19,8 @@</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #define OS_MACOSX 1</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #elif defined(__linux__) || defined(ANDROID)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #define OS_LINUX 1</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+#elif defined(__sun)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+#define OS_SOLARIS 1</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #elif defined(__DragonFly__)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #define OS_DRAGONFLY 1</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #elif defined(__FreeBSD__)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">@@ -42,7 +44,7 @@</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"><br></span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> // For access to standard POSIX features, use OS_POSIX instead of a more</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> // specific macro.</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #define OS_POSIX 1</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #endif</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"><br></span></font></div><div><font face="Verdana"><span style="font-size: 12px;"><br></span></font></div><div><font face="Verdana"><span style="font-size: 12px;">=jsmath.cpp=</span><br><br><div><span style="font-size: 12px;">--- mozilla-release/js/src/jsmath.cpp   Wed May  8 12:48:54 2013</span></div><div><span style="font-size: 12px;">+++ mozilla-release/js/src/jsmath.cpp   Wed May  8 12:50:34 2013</span></div><div><span style="font-size: 12px;">@@ -195,14 +195,6 @@</span></div><div><span style="font-size: 12px;">     }</span></div><div><span style="font-size: 12px;"> #endif</span></div><div><span style="font-size: 12px;"><br></span></div><div><span style="font-size: 12px;">-#if defined(SOLARIS) && defined(__GNUC__)</span></div><div><span style="font-size: 12px;">-    if (x == 0) {</span></div><div><span style="font-size: 12px;">-        if (MOZ_DOUBLE_IS_NEGZERO(y))</span></div><div><span style="font-size: 12px;">-            return js_copysign(M_PI, x);</span></div><div><span style="font-size: 12px;">-        if (y == 0)</span></div><div><span style="font-size: 12px;">-            return x;</span></div><div><span style="font-size: 12px;">-    }</span></div><div><span style="font-size: 12px;">-#endif</span></div><div><span style="font-size: 12px;">     return atan2(x, y);</span></div><div><span style="font-size: 12px;"> }</span></div><div style="font-size: 12px;"><br></div></font></div><div><font face="Verdana"><span style="font-size: 12px;">=Stack.cpp=</span></font><br><br><div><font face="Verdana"><span style="font-size: 12px;">--- mozilla-release/js/src/vm/Stack.cpp Wed May  8 13:13:08 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+++ mozilla-release/js/src/vm/Stack.cpp Wed May  8 13:13:47 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">@@ -782,57 +782,11 @@</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> size_t</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> StackSpace::sizeOf()</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> {</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#if defined(XP_UNIX)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">     /*</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * Measure how many of our pages are resident in RAM using mincore, and</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * return that as our size.  This is slow, but hopefully nobody expects</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * this method to be fast.</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     *</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * Note that using mincore means that we don't count pages of the stack</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * which are swapped out to disk.  We really should, but what we have here</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     * is better than counting the whole stack!</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-     */</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    const int pageSize = getpagesize();</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    size_t numBytes = (trustedEnd_ - base_) * sizeof(Value);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    size_t numPages = (numBytes + pageSize - 1) / pageSize;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    // On Linux, mincore's third argument has type unsigned char*.</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#ifdef __linux__</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    typedef unsigned char MincoreArgType;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#else</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    typedef char MincoreArgType;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#endif</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    MincoreArgType *vec = (MincoreArgType *) js_malloc(numPages);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    int result = mincore(base_, numBytes, vec);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    if (result) {</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        js_free(vec);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        /*</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-         * If mincore fails us, return the vsize (like we do below if we're not</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-         * on Windows or Unix).</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-         */</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        return (trustedEnd_ - base_) * sizeof(Value);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    }</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    size_t residentBytes = 0;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    for (size_t i = 0; i < numPages; i++) {</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        /* vec[i] has its least-significant bit set iff page i is in RAM. */</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        if (vec[i] & 0x1)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-            residentBytes += pageSize;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    }</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    js_free(vec);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    return residentBytes;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#elif defined(XP_WIN)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    return (commitEnd_ - base_) * sizeof(Value);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#else</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    /*</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">      * Return the stack's virtual size, which is at least an upper bound on its</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">      * resident size.</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">      */</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">     return (trustedEnd_ - base_) * sizeof(Value);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-#endif</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> }</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"><br></span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> #ifdef DEBUG</span></font></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div></div></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br>
<table border="0" cellspacing="0" style="border: 1px solid #aaaaaa">
<tbody><tr>
 <td style="padding: 2px 2px 2px 2px"><a target="_blank" href="http://www.sonicle.com">
<img border="0" src="http://www.sonicle.com/images/sent-through-sonicle-webtop-90x90.png" width="90" height="90"></a></td>
 <td align="left" valing="top" style="padding: 2px 8px 2px 16px">
<font face="Arial" size="2">
<b>Gabriele Bulfon - Sonicle S.r.l.</b><br><br>
Tel +39 028246016 Int. 30 - Fax +39 028243880<br>
via Santa Maria Valle 3 - 20123 - Milano - Italy<br>
<a href="http://www.sonicle.com">http://www.sonicle.com</a>
</font>
 </td>
</tr>
</tbody></table>
</div><br><hr style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br><br><font face="Arial, Helvetica, sans-serif" size="2" style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><b>Da:</b> Jonathan Adams <t12nslookup@gmail.com><br><b>A:</b> Gabriele Bulfon <gbulfon@sonicle.com> <br><b>Data:</b> 16 maggio 2013 12.09.56 CET<br><b>Oggetto:</b> Re: Firefox 20.0.1 build problems<br></font><br><br><blockquote style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px; border-left-color: rgb(0, 0, 128); border-left-width: 2px; border-left-style: solid; margin-left: 5px; padding-left: 5px;"><div dir="ltr"><div><div>I'll download 20.0.1 source, and try to compile on OI ... I'll have trouble getting hold of the hardware to run another Illumos distribution for a little while, so I hope it'll work in the same way (slightly different package versions) ...<br>

<br></div>If need be I can probably create a KVM machine on the OI server sitting in my office, but it's ipsec'd to hell running a copy of Windows 2012 server.<br><br></div>what configure options are you using?<br>
<div><div class="gmail_extra"><br><div class="gmail_quote">
On 16 May 2013 11:41, Gabriele Bulfon <span dir="ltr"><<a href="mailto:gbulfon@sonicle.com" target="_blank">gbulfon@sonicle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="font-family:Verdana;font-size:12">If you want to take a look, this is the mail I sent to firefox dev list, maybe you have some</div><div style="font-family:Verdana;font-size:12">idea on these problems I encountered.<br>
</div></blockquote></div></div></div></div>

</blockquote></div>