<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><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><br><br><font face="Arial, Helvetica, sans-serif" size="2"><b>Da:</b> Gabriele Bulfon <gbulfon@sonicle.com><br><b>A:</b> dev-builds@lists.mozilla.org <br><b>Data:</b> 9 maggio 2013 9.25.28 CET<br><b>Oggetto:</b> Firefox 20.0.1 build problems<br></font><br><br><div style="font-family: Verdana; font-size: 12;"><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">Hi,</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">I'm working to have latest Firefox (20.0.1) packaged in our upcoming distro of illumos, </div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">Sonicle XStream Desktop.</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">I know there is no support for Solaris like OS, but I'm just checking to see if you can help me.</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;">I could apply a couple of quick temporary patches to move on, like these:<br><br>jsmath.cpp</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">--------------</div><div><font face="Verdana"><span style="font-size: 12px;">had to take out a piece of (old I think) code about Solaris, MOZ_DOUBLE_IS_NEGZERO is not</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">defined anywhere:</span></font><br><br><div><font face="Verdana"><span style="font-size: 12px;">--- mozilla-release/js/src/jsmath.cpp   Wed May  8 12:48:54 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">+++ mozilla-release/js/src/jsmath.cpp   Wed May  8 12:50:34 2013</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">@@ -195,14 +195,6 @@</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">     }</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;">-#if defined(SOLARIS) && defined(__GNUC__)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    if (x == 0) {</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        if (MOZ_DOUBLE_IS_NEGZERO(y))</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-            return js_copysign(M_PI, x);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-        if (y == 0)</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-            return x;</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">-    }</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;">     return atan2(x, y);</span></font></div><div><font face="Verdana"><span style="font-size: 12px;"> }</span></font></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;">Maybe there is some more correct solution.<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;">vm/Stack.cpp</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">----------------</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;">This piece of code complains about converting "base_" class into "char *" on mincore(..), on Solaris.</div><div><font face="Verdana"><span style="font-size: 12px;">I could take out all of the ifdef section and fall back to the last section:</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 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;">build_config</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">=========</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;">I just tried adding my own lines for Solaris:</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 style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div></div><div><font face="Verdana"><span style="font-size: 12px;">This way, build goes on for a long time, then breaking on the main problem I'm asking you:</span></font><br><br><div><font face="Verdana"><span style="font-size: 12px;">/sources/userlands/xstream-userland-gate/components/firefox/build/i86/_virtualenv/bin/python /sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/config/pythonpath.py \</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">  -I/sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/other-licenses/ply \</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">  /sources/userlands/xstream-userland-gate/components/firefox/build/i86/dist/sdk/bin/header.py -I/sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/netwerk/dns -I../../dist/idl /sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/netwerk/dns/nsPIDNSService.idl -d .deps/nsPIDNSService.h.pp -o _xpidlgen/nsPIDNSService.h</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">/sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/config/rules.mk:1581: *** unterminated variable reference.  Stop.</span></font></div><div><font face="Verdana"><span style="font-size: 12px;">make[5]: Leaving directory `/sources/userlands/xstream-userland-gate/components/firefox/build/i86/netwerk/dns'</span></font></div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br></div></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;">Looking at the source of rules.mk, looks like there is a kind of syntax error occurring while "dns"</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;">Makefile includes it. I could not find any reason for this....<br>Any idea????<br><br>Thanks for any help!<br>Gabriele.</div><div style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 12px;"><br><br>
</div></div>
<br><br></div>

<pre>_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds
</pre></div>