Oolite Bulletins

For information and discussion about Oolite.
It is currently Sat Dec 16, 2017 4:45 pm

All times are UTC




Post new topic  Reply to topic  [ 188 posts ]  Go to page Previous 19 10 11 12 13
Author Message
PostPosted: Fri May 12, 2017 10:59 am 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Mon Jul 06, 2009 11:12 pm
Posts: 319
Location: Uncharted backwaters of the unfashionable end of the western spiral arm
Hi all. Trying to build the nightly and since I last tried it Ubuntu has changed a lot, and so has Oolite, so I was expecting trouble... and I got it.

I ran
Code:
git submodule update --init
to pull in SpiderMonkey but then I hit trouble trying to compile it. I had a look at Mozilla's own build guide. It seems it's pegged to autoconf2.13 (ie an old version) but fortunately Ubuntu has a specific package for that, so I installed it.

In the interests of troubleshooting I am running make directly in the
Code:
oolite/deps/mozilla/js/src
directory.
Code:
$ autoconf2.13
$ ./configure
$ make
[ ... lots of typedef warnings...]
jsapi.cpp: In function ‘JSIdArray* JS_Enumerate(JSContext*, JSObject*)’:
jsapi.cpp:3980:16: error: cannot convert ‘bool’ to ‘JSIdArray*’ in return
         return false;
                ^~~~~
config/rules.mk:1475: recipe for target 'jsapi.o' failed
make[1]: *** [jsapi.o] Error 1
make[1]: Leaving directory '/scratch/src/oolite/deps/mozilla/js/src'
config/rules.mk:753: recipe for target 'default' failed
make: *** [default] Error 2
Any ideas... ?


Top
   
PostPosted: Fri May 12, 2017 11:11 am 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
User avatar

Joined: Tue Apr 01, 2008 12:55 pm
Posts: 861
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Have you tried the following?
Quote:
(2.2) Build Oolite
CD into the root of Oolite source (e.g. ~/Oolite-dev/trunk or ~/Oolite-dev/1.75.3)
and execute
Code:
make -f Makefile release
(2.3) Run Oolite
Code:
oolite.app/oolite
It should also build SpiderMonkey.

_________________
Xubuntu 14.04LTS / Windows 7 Home Premium
Intel Core 2 Quad Q9450 2.66GHz - 6GB DDR2 - Palit GeForce GTX 750 Ti StormX Dual (2048MB DDR5)
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]


Top
   
PostPosted: Fri May 12, 2017 11:28 am 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Mon Jul 06, 2009 11:12 pm
Posts: 319
Location: Uncharted backwaters of the unfashionable end of the western spiral arm
Aha - some lateral Googling and I've found a load of similar FTBFS problems in some other distros. I think something has been deprecated in the new version of gcc (6.3) so now I'll have to find the flag to tell it to back off a bit...!


Top
   
PostPosted: Fri May 12, 2017 11:30 am 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Mon Jul 06, 2009 11:12 pm
Posts: 319
Location: Uncharted backwaters of the unfashionable end of the western spiral arm
Yes I tried that first and THEN narrowed the problem down to SpiderMonkey. Sorry, didn't make that clear. Looks like a gcc 6.3 v ancient SpiderMonkey thing.


Top
   
PostPosted: Fri May 12, 2017 11:31 am 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5028
From this page: https://gcc.gnu.org/gcc-6/porting_to.html
Quote:
Cannot convert 'bool' to 'T*'

The current C++ standard only allows integer literals to be used as null pointer constants, so other constants such as false and (1 - 1) cannot be used where a null pointer is desired. Code that fails to compile with this error should be changed to use nullptr, or 0, or NULL.


Top
   
PostPosted: Fri May 12, 2017 2:28 pm 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Mon Jul 06, 2009 11:12 pm
Posts: 319
Location: Uncharted backwaters of the unfashionable end of the western spiral arm
It is an issue with the bundled version of SpiderMonkey. For example see here:
https://bugs.debian.org/cgi-bin/bugrepo ... bug=811665
So the Debian package includes the fix.

So I guess I need to try using the external package of 1.85, or see if there's a version that the Oolite devs could re-bundle without any other breaking changes. That assumes that the Debian fix above has made it back upstream into the wonderful world of Mozilla.

This is going to affect everyone on GCC 6 though surely, which is a much wider problem than Ubuntu specifically?


Top
   
PostPosted: Fri May 12, 2017 3:13 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5028
We cannot rebundle a different Spidermonkey version without affecting the Windows port. The Spidermonkey we currently use has been configured to run on all three supported platforms and managing to build it on Windows has been a very demanding task. So demanding, that I would not want to ever have to repeat it.

What can be done though, is apply the fixes for these errors to our repository's version. Basically the fix for these kind of errors is to replace return false with return NULL, which we should be able to do if we have the full list of such occurences.


Top
   
PostPosted: Fri May 12, 2017 3:51 pm 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Mon Jul 06, 2009 11:12 pm
Posts: 319
Location: Uncharted backwaters of the unfashionable end of the western spiral arm
Thanks for the replies. After digging through the source a bit and looking at some old bug discussions around the web, I feel your pain! I was just reading the thread where you guys were discussing this very problem as justification for bundling a version. So I agree it's gonna stay bundled.

I tried a build against Zesty's libmozjs185-1.0 out of curiosity, and basic things like JS_DestroyScript have changed, so even if you didn't have the Windows constraint, an update would be major work. (I think I remember a realignment around 1.74 time turning into an express elevator to hell...)

Rather than clutter up this sticky thread with more discussion I'll start another one and we can come back here with the conclusions. Thanks!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 188 posts ]  Go to page Previous 19 10 11 12 13

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited