Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't build on OS X #4

Open
TooTallNate opened this issue Dec 12, 2011 · 8 comments
Open

Doesn't build on OS X #4

TooTallNate opened this issue Dec 12, 2011 · 8 comments

Comments

@TooTallNate
Copy link

I would love to get this working to compile on my iPhone, and use node there (see https://tootallnate.net/nodejs-on-ios). The problem with the current node on iOS is that there's no way that Apple is currently gonna let V8 on their platform, so in the meantime we could potentially use SpiderNode on the app store.

I'm using 10.7.2 Lion:

[100/149] libjs_static.a: deps/mozjs/js/src/dtoa.c deps/mozjs/js/src/prmjtime.cpp deps/mozjs/js/src/jsweakmap.cpp deps/mozjs/js/src/jsmath.cpp deps/mozjs/js/src/jsscope.cpp deps/mozjs/js/src/jsoplengen.cpp deps/mozjs/js/src/jsnum.cpp deps/mozjs/js/src/jspropertytree.cpp deps/mozjs/js/src/jsclone.cpp deps/mozjs/js/src/jstypedarray.cpp deps/mozjs/js/src/jsarena.cpp deps/mozjs/js/src/jsdbgapi.cpp deps/mozjs/js/src/jsstr.cpp deps/mozjs/js/src/jsalloc.cpp deps/mozjs/js/src/jsonparser.cpp deps/mozjs/js/src/jsemit.cpp deps/mozjs/js/src/jstracer.cpp deps/mozjs/js/src/jskwgen.cpp deps/mozjs/js/src/jscompartment.cpp deps/mozjs/js/src/jsgc.cpp deps/mozjs/js/src/jsapi.cpp deps/mozjs/js/src/jsexn.cpp deps/mozjs/js/src/jsdhash.cpp deps/mozjs/js/src/jsbool.cpp deps/mozjs/js/src/jswrapper.cpp deps/mozjs/js/src/jsscan.cpp deps/mozjs/js/src/jsfun.cpp deps/mozjs/js/src/jsgcstats.cpp deps/mozjs/js/src/jsscript.cpp deps/mozjs/js/src/jsinterp.cpp deps/mozjs/js/src/jsprobes.cpp deps/mozjs/js/src/jsarray.cpp deps/mozjs/js/src/jsgcchunk.cpp deps/mozjs/js/src/jsinvoke.cpp deps/mozjs/js/src/GlobalObject.cpp deps/mozjs/js/src/jsfriendapi.cpp deps/mozjs/js/src/jsparse.cpp deps/mozjs/js/src/jspropertycache.cpp deps/mozjs/js/src/jsxdrapi.cpp deps/mozjs/js/src/jsdate.cpp deps/mozjs/js/src/jsanalyze.cpp deps/mozjs/js/src/jsproxy.cpp deps/mozjs/js/src/jsopcode.cpp deps/mozjs/js/src/jslock.cpp deps/mozjs/js/src/jsnativestack.cpp deps/mozjs/js/src/jsbuiltins.cpp deps/mozjs/js/src/jsiter.cpp deps/mozjs/js/src/jshash.cpp deps/mozjs/js/src/json.cpp deps/mozjs/js/src/jsobj.cpp deps/mozjs/js/src/jsprf.cpp deps/mozjs/js/src/jscntxt.cpp deps/mozjs/js/src/jsreflect.cpp deps/mozjs/js/src/jscpucfg.cpp deps/mozjs/js/src/sharkctl.cpp deps/mozjs/js/src/jsutil.cpp deps/mozjs/js/src/jsatom.cpp deps/mozjs/js/src/jslog2.cpp deps/mozjs/js/src/jsdtoa.cpp deps/mozjs/js/src/jsxml.cpp deps/mozjs/js/src/jsgcmark.cpp deps/mozjs/js/src/jsregexp.cpp deps/mozjs/js/src/jspubtd.h deps/mozjs/js/src/jsinttypes.h deps/mozjs/js/src/jsscriptinlines.h deps/mozjs/js/src/jsarena.h deps/mozjs/js/src/jsexn.h deps/mozjs/js/src/jsbit.h deps/mozjs/js/src/jstl.h deps/mozjs/js/src/jsclone.h deps/mozjs/js/src/jsstrinlines.h deps/mozjs/js/src/jstracer.h deps/mozjs/js/src/jsgcstats.h deps/mozjs/js/src/jsgcinlines.h deps/mozjs/js/src/jstypes.h deps/mozjs/js/src/jshotloop.h deps/mozjs/js/src/jsstaticcheck.h deps/mozjs/js/src/jsobj.h deps/mozjs/js/src/json.h deps/mozjs/js/src/sharkctl.h deps/mozjs/js/src/jsapi.h deps/mozjs/js/src/jsalloc.h deps/mozjs/js/src/jsbuiltins.h deps/mozjs/js/src/jsnum.h deps/mozjs/js/src/jsproxy.h deps/mozjs/js/src/jsemit.h deps/mozjs/js/src/jsdhash.h deps/mozjs/js/src/jsobjinlines.h deps/mozjs/js/src/jsreflect.h deps/mozjs/js/src/jspropertycache.h deps/mozjs/js/src/jsparse.h deps/mozjs/js/src/jscell.h deps/mozjs/js/src/jsbool.h deps/mozjs/js/src/jsarray.h deps/mozjs/js/src/jscntxt.h deps/mozjs/js/src/jsscan.h deps/mozjs/js/src/jsopcodeinlines.h deps/mozjs/js/src/jsopcode.h deps/mozjs/js/src/jsstr.h deps/mozjs/js/src/prmjtime.h deps/mozjs/js/src/GlobalObject.h deps/mozjs/js/src/jstypedarray.h deps/mozjs/js/src/jsinterp.h deps/mozjs/js/src/jscpucfg.h deps/mozjs/js/src/jsatominlines.h deps/mozjs/js/src/jsfriendapi.h deps/mozjs/js/src/jsinterpinlines.h deps/mozjs/js/src/jsweakmap.h deps/mozjs/js/src/jsnativestack.h deps/mozjs/js/src/jsanalyze.h deps/mozjs/js/src/jscompat.h deps/mozjs/js/src/jsprf.h deps/mozjs/js/src/jsscope.h deps/mozjs/js/src/resource.h deps/mozjs/js/src/jslong.h deps/mozjs/js/src/jswin.h deps/mozjs/js/src/jsversion.h deps/mozjs/js/src/jsotypes.h deps/mozjs/js/src/jsvector.h deps/mozjs/js/src/jshashtable.h deps/mozjs/js/src/jsutil.h deps/mozjs/js/src/jscntxtinlines.h deps/mozjs/js/src/jsval.h deps/mozjs/js/src/jsfuninlines.h deps/mozjs/js/src/jsxml.h deps/mozjs/js/src/jswrapper.h deps/mozjs/js/src/jspropertytree.h deps/mozjs/js/src/jsdate.h deps/mozjs/js/src/jsiter.h deps/mozjs/js/src/jsgcmark.h deps/mozjs/js/src/jsxdrapi.h deps/mozjs/js/src/jspropertycacheinlines.h deps/mozjs/js/src/jslibmath.h deps/mozjs/js/src/jsscopeinlines.h deps/mozjs/js/src/jsdbgapi.h deps/mozjs/js/src/jsgcchunk.h deps/mozjs/js/src/jsprvtd.h deps/mozjs/js/src/jscompartment.h deps/mozjs/js/src/jsatom.h deps/mozjs/js/src/jsdbgapiinlines.h deps/mozjs/js/src/jsfun.h deps/mozjs/js/src/jsgc.h deps/mozjs/js/src/jsmath.h deps/mozjs/js/src/jsregexpinlines.h deps/mozjs/js/src/jsscript.h deps/mozjs/js/src/jsonparser.h deps/mozjs/js/src/jsvalue.h deps/mozjs/js/src/jslock.h deps/mozjs/js/src/jshash.h deps/mozjs/js/src/jsdtoa.h deps/mozjs/js/src/jsregexp.h deps/mozjs/js/src/jsprobes.h deps/mozjs/js/src/jsstdint.h deps/mozjs/js/src/jsclist.h deps/mozjs/js/src/js-config.in deps/mozjs/js/src/js-config.h.in deps/mozjs/js/src/configure.in deps/mozjs/js/src/Makefile.in deps/mozjs/js/src/v8api/handles.cpp deps/mozjs/js/src/v8api/internal.cpp deps/mozjs/js/src/v8api/array.cpp deps/mozjs/js/src/v8api/function.cpp deps/mozjs/js/src/v8api/core.cpp deps/mozjs/js/src/v8api/string.cpp deps/mozjs/js/src/v8api/template.cpp deps/mozjs/js/src/v8api/objecttemplate.cpp deps/mozjs/js/src/v8api/object.cpp deps/mozjs/js/src/v8api/functiontemplate.cpp deps/mozjs/js/src/v8api/v8.cpp deps/mozjs/js/src/v8api/v8.h deps/mozjs/js/src/v8api/v8-internal.h deps/mozjs/js/src/v8api/v8-debug.h deps/mozjs/nsprpub/configure.in deps/mozjs/nsprpub/Makefile.in deps/mozjs/mfbt/Util.h deps/mozjs/mfbt/Types.h deps/mozjs/nsprpub/configure -> build/default/libjs_static.a
export CC="gcc" ; export CXX="g++" ; (cd /Users/nrajlich/spidernode/deps/mozjs/js/src && autoconf213||autoconf-2.13||autoconf2.13) && mkdir -p /Users/nrajlich/spidernode/build/default/deps/moz_obj /Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr && (cd /Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr && /Users/nrajlich/spidernode/deps/mozjs/nsprpub/configure --enable-static --disable-tests --enable-optimize --disable-debug --with-mozilla --enable-64bit && make -j4) && (cd /Users/nrajlich/spidernode/build/default/deps/moz_obj && /Users/nrajlich/spidernode/deps/mozjs/js/src/configure --enable-static --disable-tests --enable-optimize --disable-debug --with-nspr-cflags="-I/Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr/dist/include/nspr" --with-nspr-libs="/Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr/dist/lib/libplds4.a /Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr/dist/lib/libplc4.a /Users/nrajlich/spidernode/build/default/deps/moz_obj_nspr/dist/lib/libnspr4.a" && make -j4) && cp /Users/nrajlich/spidernode/build/default/deps/moz_obj/dist/lib/libjs_static.a default/libjs_static.a
+ export CC=gcc
+ CC=gcc
+ export CXX=g++
+ CXX=g++
+ cd /Users/nrajlich/spidernode/deps/mozjs/js/src
+ autoconf213
build/autoconf/acwinpaths.m4:44: error: defn: undefined macro: AC_OUTPUT_FILES
build/autoconf/acwinpaths.m4:44: the top level
autom4te: /usr/bin/gm4 failed with exit status: 1
+ autoconf-2.13
/bin/sh: autoconf-2.13: command not found
+ autoconf2.13
/bin/sh: autoconf2.13: command not found
@jhford
Copy link

jhford commented Dec 12, 2011

I'm not up on the terms of the iphone app store, but my understanding is that the reason they won't allow V8 would also block spidermonkey (and thus spidernode).

@ghost
Copy link

ghost commented Dec 12, 2011

jhford. This is not so. Apps using iMonkey have already been approved by Apple. iMonkey is a component of CouchDB which has been approved to run on iOS

@TooTallNate
Copy link
Author

Well in any case, I'd at least want to get this SpiderNode compiled on my mac, so I can try it out with NodObjC at the very least.

@ghost
Copy link

ghost commented Dec 12, 2011

@TooTallNate: It builds but your issue above is that you need autoconf2.13 which can be built using macports. The build emitted a number of warnings but I have not yet looked at any of these. One thing was that the build will clobber your system node so best to build with a prefix to run it from the build location. I think I had expected to use 'spidernode' as opposed to 'node' on the commandline.

@jhford
Copy link

jhford commented Dec 12, 2011

I thought that for a second, but I'm fact he has autoconf. Because there are many names for the autoconf binary when versioned, I added a quick hack to invoke all three that I know with || between them. He has autoconf installed at version 2.13 but it's failing inside of autoconf

@jhford
Copy link

jhford commented Dec 12, 2011

(silly phone causing silly typos)

@ghost
Copy link

ghost commented Dec 12, 2011

@jhford. Hi. My initial build failed with same issue as TooTallNate. I thought I had autoconf2.13 on the system also since I use it in other builds but had forgotten it was not on that particular OS. I have multiple MacOSX installs on this dev machine. In any case, installed autoconf213 from macports and it built.

What is involved in bringing the spidernode up date to track current node.

Thanks

@zpao
Copy link
Owner

zpao commented Dec 19, 2011

@fairwinds The first step to bringing this up to date is probably going to be to bring v8monkey up to date. There are v8 apis that are being used that haven't been implemented yet in our api layer. There's also work to fix some things post-update to spidermonkey (we really have to track 3 different projects to make all of this work!). There are a couple issues files on v8monkey for that. That's really step 1, then attempting to build node with that is step 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants