[XStreamOS-discuss] Fwd: Firefox 20.0.1 build problems
Gabriele Bulfon
gbulfon at sonicle.com
Thu May 16 12:41:49 CEST 2013
If you want to take a look, this is the mail I sent to firefox dev list, maybe you have some
idea on these problems I encountered.
Gabriele Bulfon - Sonicle S.r.l.
Tel +39 028246016 Int. 30 - Fax +39 028243880
via Santa Maria Valle 3 - 20123 - Milano - Italy
http://www.sonicle.com
Da:
Gabriele Bulfon
A:
dev-builds at lists.mozilla.org
Data:
9 maggio 2013 9.25.28 CET
Oggetto:
Firefox 20.0.1 build problems
Hi,
I'm working to have latest Firefox (20.0.1) packaged in our upcoming distro of illumos,
Sonicle XStream Desktop.
I know there is no support for Solaris like OS, but I'm just checking to see if you can help me.
I could apply a couple of quick temporary patches to move on, like these:
jsmath.cpp
--------------
had to take out a piece of (old I think) code about Solaris, MOZ_DOUBLE_IS_NEGZERO is not
defined anywhere:
--- mozilla-release/js/src/jsmath.cpp Wed May 8 12:48:54 2013
+++ mozilla-release/js/src/jsmath.cpp Wed May 8 12:50:34 2013
@@ -195,14 +195,6 @@
}
#endif
-#if defined(SOLARIS) & defined(__GNUC__)
- if (x == 0) {
- if (MOZ_DOUBLE_IS_NEGZERO(y))
- return js_copysign(M_PI, x);
- if (y == 0)
- return x;
- }
-#endif
return atan2(x, y);
}
Maybe there is some more correct solution.
vm/Stack.cpp
----------------
This piece of code complains about converting "base_" class into "char *" on mincore(..), on Solaris.
I could take out all of the ifdef section and fall back to the last section:
--- mozilla-release/js/src/vm/Stack.cpp Wed May 8 13:13:08 2013
+++ mozilla-release/js/src/vm/Stack.cpp Wed May 8 13:13:47 2013
@@ -782,57 +782,11 @@
size_t
StackSpace::sizeOf()
{
-#if defined(XP_UNIX)
/*
- * Measure how many of our pages are resident in RAM using mincore, and
- * return that as our size. This is slow, but hopefully nobody expects
- * this method to be fast.
- *
- * Note that using mincore means that we don't count pages of the stack
- * which are swapped out to disk. We really should, but what we have here
- * is better than counting the whole stack!
- */
-
- const int pageSize = getpagesize();
- size_t numBytes = (trustedEnd_ - base_) * sizeof(Value);
- size_t numPages = (numBytes + pageSize - 1) / pageSize;
-
- // On Linux, mincore's third argument has type unsigned char*.
-#ifdef __linux__
- typedef unsigned char MincoreArgType;
-#else
- typedef char MincoreArgType;
-#endif
-
- MincoreArgType *vec = (MincoreArgType *) js_malloc(numPages);
- int result = mincore(base_, numBytes, vec);
- if (result) {
- js_free(vec);
- /*
- * If mincore fails us, return the vsize (like we do below if we're not
- * on Windows or Unix).
- */
- return (trustedEnd_ - base_) * sizeof(Value);
- }
-
- size_t residentBytes = 0;
- for (size_t i = 0; i
- /* vec[i] has its least-significant bit set iff page i is in RAM. */
- if (vec[i] &0x1)
- residentBytes += pageSize;
- }
- js_free(vec);
- return residentBytes;
-
-#elif defined(XP_WIN)
- return (commitEnd_ - base_) * sizeof(Value);
-#else
- /*
* Return the stack's virtual size, which is at least an upper bound on its
* resident size.
*/
return (trustedEnd_ - base_) * sizeof(Value);
-#endif
}
#ifdef DEBUG
build_config
=========
I just tried adding my own lines for Solaris:
--- mozilla-release/ipc/chromium/src/build/build_config.h Wed May 8 13:45:40 2013
+++ mozilla-release/ipc/chromium/src/build/build_config.h Wed May 8 13:47:38 2013
@@ -19,6 +19,8 @@
#define OS_MACOSX 1
#elif defined(__linux__) || defined(ANDROID)
#define OS_LINUX 1
+#elif defined(__sun)
+#define OS_SOLARIS 1
#elif defined(__DragonFly__)
#define OS_DRAGONFLY 1
#elif defined(__FreeBSD__)
@@ -42,7 +44,7 @@
// For access to standard POSIX features, use OS_POSIX instead of a more
// specific macro.
-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
#define OS_POSIX 1
#endif
This way, build goes on for a long time, then breaking on the main problem I'm asking you:
/sources/userlands/xstream-userland-gate/components/firefox/build/i86/_virtualenv/bin/python /sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/config/pythonpath.py \
-I/sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/other-licenses/ply \
/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
/sources/userlands/xstream-userland-gate/components/firefox/mozilla-release/config/rules.mk:1581: *** unterminated variable reference. Stop.
make[5]: Leaving directory `/sources/userlands/xstream-userland-gate/components/firefox/build/i86/netwerk/dns'
Looking at the source of rules.mk, looks like there is a kind of syntax error occurring while "dns"
Makefile includes it. I could not find any reason for this....
Any idea????
Thanks for any help!
Gabriele.
_______________________________________________dev-builds mailing listdev-builds at lists.mozilla.orghttps://lists.mozilla.org/listinfo/dev-builds
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sonicle.com/pipermail/xstreamos-discuss/attachments/20130516/c4f6dcd3/attachment.html>
More information about the XStreamOS-discuss
mailing list