{"issue":{"state":"open","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"user":{"avatar_url":"https://secure.gravatar.com/avatar/6c2573a4fc20f55bc18e620374e700b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6c2573a4fc20f55bc18e620374e700b9","url":"https://api.github.com/users/mynyml","login":"mynyml","id":3913},"milestone":null,"labels":[{"name":"building","color":"7e2694","url":"https://api.github.com/repos/jbarnette/johnson/labels/building"}],"assignee":null,"updated_at":"2011-10-29T12:50:16Z","comments":20,"closed_at":null,"url":"https://api.github.com/repos/jbarnette/johnson/issues/21","body":"Johnson-2.0.0.pre0 fails to install on Ruby1.9. Though I imagine this is a well known limitation.\n\n    $ gem install johnson --prerelease --no-rdoc\n    Building native extensions.  This could take a while...\n    ERROR:  Error installing johnson:\n    \tERROR: Failed to build gem native extension.\n    \n    /home/martin/.rvm/ruby-1.9.1-p243/bin/ruby extconf.rb\n    cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory\n    cd editline; make -f Makefile.ref all\n    make[1]: Entering directory `/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/editline'\n    gcc -o Linux_All_DBG.OBJ/editline.o -c -Wall -Wno-format -MMD -DXP_UNIX -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin  -DJSFILE  -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY editline.c\n    editline.c: In function ‘readline’:\n    editline.c:1038: warning: implicit declaration of function ‘getpid’\n    editline.c: In function ‘add_history’:\n    editline.c:1051: warning: pointer targets in passing argument 2 of ‘strcmp’ differ in signedness\n    /usr/include/string.h:142: note: expected ‘const char *’ but argument is of type ‘CHAR *’\n    gcc -o Linux_All_DBG.OBJ/sysunix.o -c -Wall -Wno-format -MMD -DXP_UNIX -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin  -DJSFILE  -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY sysunix.c\n    ar rv Linux_All_DBG.OBJ/libedit.a Linux_All_DBG.OBJ/editline.o Linux_All_DBG.OBJ/sysunix.o\n    ar: creating Linux_All_DBG.OBJ/libedit.a\n    a - Linux_All_DBG.OBJ/editline.o\n    a - Linux_All_DBG.OBJ/sysunix.o\n    echo Linux_All_DBG.OBJ/libedit.a\n    Linux_All_DBG.OBJ/libedit.a\n    make[1]: Leaving directory `/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/editline'\n    make -f Makefile.ref  Linux_All_DBG.OBJ/libjs.a Linux_All_DBG.OBJ/libjs.so Linux_All_DBG.OBJ/js  Linux_All_DBG.OBJ/jsautocfg.h Linux_All_DBG.OBJ/jscpucfg Linux_All_DBG.OBJ/jscpucfg.o\n    cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory\n    make[1]: Entering directory `/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey'\n    make[1]: Circular jscpucfg.h <- Linux_All_DBG.OBJ/jsautocfg.h dependency dropped.\n    gcc -o Linux_All_DBG.OBJ/jscpucfg.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jscpucfg.c\n    gcc -o Linux_All_DBG.OBJ/jscpucfg Linux_All_DBG.OBJ/jscpucfg.o\n    make[1]: Circular Linux_All_DBG.OBJ/jsautocfg.h <- Linux_All_DBG.OBJ/jsautocfg.h dependency dropped.\n    rm -f Linux_All_DBG.OBJ/jsautocfg.h\n    Linux_All_DBG.OBJ/jscpucfg > Linux_All_DBG.OBJ/jsautocfg.h\n    gcc -o Linux_All_DBG.OBJ/jsapi.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsapi.c\n    gcc -o Linux_All_DBG.OBJ/jsarena.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsarena.c\n    gcc -o Linux_All_DBG.OBJ/jsarray.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsarray.c\n    gcc -o Linux_All_DBG.OBJ/jsatom.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsatom.c\n    gcc -o Linux_All_DBG.OBJ/jsbool.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsbool.c\n    gcc -o Linux_All_DBG.OBJ/jscntxt.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jscntxt.c\n    gcc -o Linux_All_DBG.OBJ/jsdate.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsdate.c\n    gcc -o Linux_All_DBG.OBJ/jsdbgapi.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsdbgapi.c\n    gcc -o Linux_All_DBG.OBJ/jsdhash.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsdhash.c\n    gcc -o Linux_All_DBG.OBJ/jsdtoa.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsdtoa.c\n    gcc -o Linux_All_DBG.OBJ/jsemit.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsemit.c\n    gcc -o Linux_All_DBG.OBJ/jsexn.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsexn.c\n    gcc -o Linux_All_DBG.OBJ/jsfun.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsfun.c\n    gcc -o Linux_All_DBG.OBJ/jsgc.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsgc.c\n    gcc -o Linux_All_DBG.OBJ/jshash.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jshash.c\n    gcc -o Linux_All_DBG.OBJ/jsinterp.o -c -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ   jsinterp.c\n    gcc -o Linux_All_DBG.OBJ/jsinvoke.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsinvoke.c\n    gcc -o Linux_All_DBG.OBJ/jsiter.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsiter.c\n    gcc -o Linux_All_DBG.OBJ/jslock.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jslock.c\n    gcc -o Linux_All_DBG.OBJ/jslog2.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jslog2.c\n    gcc -o Linux_All_DBG.OBJ/jslong.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jslong.c\n    gcc -o Linux_All_DBG.OBJ/jsmath.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsmath.c\n    gcc -o Linux_All_DBG.OBJ/jsnum.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsnum.c\n    gcc -o Linux_All_DBG.OBJ/jsobj.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsobj.c\n    gcc -o Linux_All_DBG.OBJ/jsopcode.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsopcode.c\n    gcc -o Linux_All_DBG.OBJ/jsparse.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsparse.c\n    gcc -o Linux_All_DBG.OBJ/jsprf.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsprf.c\n    gcc -o Linux_All_DBG.OBJ/jsregexp.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsregexp.c\n    gcc -o Linux_All_DBG.OBJ/jskwgen.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jskwgen.c\n    gcc -o Linux_All_DBG.OBJ/jskwgen -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ   -lm Linux_All_DBG.OBJ/jskwgen.o\n    Linux_All_DBG.OBJ/jskwgen Linux_All_DBG.OBJ/jsautokw.h\n    gcc -o Linux_All_DBG.OBJ/jsscan.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsscan.c\n    gcc -o Linux_All_DBG.OBJ/jsscope.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsscope.c\n    gcc -o Linux_All_DBG.OBJ/jsscript.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsscript.c\n    gcc -o Linux_All_DBG.OBJ/jsstr.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsstr.c\n    gcc -o Linux_All_DBG.OBJ/jsutil.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsutil.c\n    gcc -o Linux_All_DBG.OBJ/jsxdrapi.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsxdrapi.c\n    gcc -o Linux_All_DBG.OBJ/jsxml.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  jsxml.c\n    gcc -o Linux_All_DBG.OBJ/prmjtime.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  prmjtime.c\n    ar rv Linux_All_DBG.OBJ/libjs.a Linux_All_DBG.OBJ/jsapi.o Linux_All_DBG.OBJ/jsarena.o Linux_All_DBG.OBJ/jsarray.o Linux_All_DBG.OBJ/jsatom.o Linux_All_DBG.OBJ/jsbool.o Linux_All_DBG.OBJ/jscntxt.o Linux_All_DBG.OBJ/jsdate.o Linux_All_DBG.OBJ/jsdbgapi.o Linux_All_DBG.OBJ/jsdhash.o Linux_All_DBG.OBJ/jsdtoa.o Linux_All_DBG.OBJ/jsemit.o Linux_All_DBG.OBJ/jsexn.o Linux_All_DBG.OBJ/jsfun.o Linux_All_DBG.OBJ/jsgc.o Linux_All_DBG.OBJ/jshash.o Linux_All_DBG.OBJ/jsinterp.o Linux_All_DBG.OBJ/jsinvoke.o Linux_All_DBG.OBJ/jsiter.o Linux_All_DBG.OBJ/jslock.o Linux_All_DBG.OBJ/jslog2.o Linux_All_DBG.OBJ/jslong.o Linux_All_DBG.OBJ/jsmath.o Linux_All_DBG.OBJ/jsnum.o Linux_All_DBG.OBJ/jsobj.o Linux_All_DBG.OBJ/jsopcode.o Linux_All_DBG.OBJ/jsparse.o Linux_All_DBG.OBJ/jsprf.o Linux_All_DBG.OBJ/jsregexp.o Linux_All_DBG.OBJ/jsscan.o Linux_All_DBG.OBJ/jsscope.o Linux_All_DBG.OBJ/jsscript.o Linux_All_DBG.OBJ/jsstr.o Linux_All_DBG.OBJ/jsutil.o Linux_All_DBG.OBJ/jsxdrapi.o Linux_All_DBG.OBJ/jsxml.o Linux_All_DBG.OBJ/prmjtime.o\n    ar: creating Linux_All_DBG.OBJ/libjs.a\n    a - Linux_All_DBG.OBJ/jsapi.o\n    a - Linux_All_DBG.OBJ/jsarena.o\n    a - Linux_All_DBG.OBJ/jsarray.o\n    a - Linux_All_DBG.OBJ/jsatom.o\n    a - Linux_All_DBG.OBJ/jsbool.o\n    a - Linux_All_DBG.OBJ/jscntxt.o\n    a - Linux_All_DBG.OBJ/jsdate.o\n    a - Linux_All_DBG.OBJ/jsdbgapi.o\n    a - Linux_All_DBG.OBJ/jsdhash.o\n    a - Linux_All_DBG.OBJ/jsdtoa.o\n    a - Linux_All_DBG.OBJ/jsemit.o\n    a - Linux_All_DBG.OBJ/jsexn.o\n    a - Linux_All_DBG.OBJ/jsfun.o\n    a - Linux_All_DBG.OBJ/jsgc.o\n    a - Linux_All_DBG.OBJ/jshash.o\n    a - Linux_All_DBG.OBJ/jsinterp.o\n    a - Linux_All_DBG.OBJ/jsinvoke.o\n    a - Linux_All_DBG.OBJ/jsiter.o\n    a - Linux_All_DBG.OBJ/jslock.o\n    a - Linux_All_DBG.OBJ/jslog2.o\n    a - Linux_All_DBG.OBJ/jslong.o\n    a - Linux_All_DBG.OBJ/jsmath.o\n    a - Linux_All_DBG.OBJ/jsnum.o\n    a - Linux_All_DBG.OBJ/jsobj.o\n    a - Linux_All_DBG.OBJ/jsopcode.o\n    a - Linux_All_DBG.OBJ/jsparse.o\n    a - Linux_All_DBG.OBJ/jsprf.o\n    a - Linux_All_DBG.OBJ/jsregexp.o\n    a - Linux_All_DBG.OBJ/jsscan.o\n    a - Linux_All_DBG.OBJ/jsscope.o\n    a - Linux_All_DBG.OBJ/jsscript.o\n    a - Linux_All_DBG.OBJ/jsstr.o\n    a - Linux_All_DBG.OBJ/jsutil.o\n    a - Linux_All_DBG.OBJ/jsxdrapi.o\n    a - Linux_All_DBG.OBJ/jsxml.o\n    a - Linux_All_DBG.OBJ/prmjtime.o\n    echo Linux_All_DBG.OBJ/libjs.a\n    Linux_All_DBG.OBJ/libjs.a\n    ld -shared  -o Linux_All_DBG.OBJ/libjs.so Linux_All_DBG.OBJ/jsapi.o Linux_All_DBG.OBJ/jsarena.o Linux_All_DBG.OBJ/jsarray.o Linux_All_DBG.OBJ/jsatom.o Linux_All_DBG.OBJ/jsbool.o Linux_All_DBG.OBJ/jscntxt.o Linux_All_DBG.OBJ/jsdate.o Linux_All_DBG.OBJ/jsdbgapi.o Linux_All_DBG.OBJ/jsdhash.o Linux_All_DBG.OBJ/jsdtoa.o Linux_All_DBG.OBJ/jsemit.o Linux_All_DBG.OBJ/jsexn.o Linux_All_DBG.OBJ/jsfun.o Linux_All_DBG.OBJ/jsgc.o Linux_All_DBG.OBJ/jshash.o Linux_All_DBG.OBJ/jsinterp.o Linux_All_DBG.OBJ/jsinvoke.o Linux_All_DBG.OBJ/jsiter.o Linux_All_DBG.OBJ/jslock.o Linux_All_DBG.OBJ/jslog2.o Linux_All_DBG.OBJ/jslong.o Linux_All_DBG.OBJ/jsmath.o Linux_All_DBG.OBJ/jsnum.o Linux_All_DBG.OBJ/jsobj.o Linux_All_DBG.OBJ/jsopcode.o Linux_All_DBG.OBJ/jsparse.o Linux_All_DBG.OBJ/jsprf.o Linux_All_DBG.OBJ/jsregexp.o Linux_All_DBG.OBJ/jsscan.o Linux_All_DBG.OBJ/jsscope.o Linux_All_DBG.OBJ/jsscript.o Linux_All_DBG.OBJ/jsstr.o Linux_All_DBG.OBJ/jsutil.o Linux_All_DBG.OBJ/jsxdrapi.o Linux_All_DBG.OBJ/jsxml.o Linux_All_DBG.OBJ/prmjtime.o   -lm \n    gcc -o Linux_All_DBG.OBJ/js.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  js.c\n    gcc -o Linux_All_DBG.OBJ/js -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_martin -DEDITLINE -ILinux_All_DBG.OBJ  Linux_All_DBG.OBJ/js.o Linux_All_DBG.OBJ/libjs.a  -lm  \\\n    \t    editline/Linux_All_DBG.OBJ/libedit.a\n    make[1]: `Linux_All_DBG.OBJ/jsautocfg.h' is up to date.\n    make[1]: `Linux_All_DBG.OBJ/jscpucfg' is up to date.\n    make[1]: `Linux_All_DBG.OBJ/jscpucfg.o' is up to date.\n    make[1]: Leaving directory `/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey'\n    checking for jsautocfg.h in /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ... yes\n    checking for jsapi.h in /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey... yes\n    creating Makefile\n    \n    make\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o context.o -c context.c\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o debugger.o -c debugger.c\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o idhash.o -c idhash.c\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o global.o -c global.c\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o extensions.o -c extensions.c\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o immutable_node.o -c immutable_node.c\n    immutable_node.c: In function ‘parse_io’:\n    immutable_node.c:48: warning: conversion to ‘size_t’ from ‘int’ may change the sign of the result\n    immutable_node.c: In function ‘data_pn_dval’:\n    immutable_node.c:446: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result\n    gcc -I. -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i686-linux -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/home/martin/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/Linux_All_DBG.OBJ -I/home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -g  -Wall  -Wextra  -Wcast-qual  -Wwrite-strings  -Wconversion  -Wmissing-noreturn  -Winline  -DXP_UNIX  -o js_land_proxy.o -c js_land_proxy.c\n    In file included from js_land_proxy.c:1:\n    js_land_proxy.h:11:18: error: node.h: No such file or directory\n    In file included from js_land_proxy.c:1:\n    js_land_proxy.h:17: error: expected specifier-qualifier-list before ‘NODE’\n    js_land_proxy.c:21: warning: missing initializer\n    js_land_proxy.c:21: warning: (near initialization for ‘JSLandProxyClass.getObjectOps’)\n    js_land_proxy.c:37: warning: missing initializer\n    js_land_proxy.c:37: warning: (near initialization for ‘JSLandClassProxyClass.xdrObject’)\n    js_land_proxy.c:52: warning: missing initializer\n    js_land_proxy.c:52: warning: (near initialization for ‘JSLandCallableProxyClass.construct’)\n    js_land_proxy.c: In function ‘call_ruby_from_js_va’:\n    js_land_proxy.c:63: error: ‘ruby_errinfo’ undeclared (first use in this function)\n    js_land_proxy.c:63: error: (Each undeclared identifier is reported only once\n    js_land_proxy.c:63: error: for each function it appears in.)\n    js_land_proxy.c: In function ‘attribute_p’:\n    js_land_proxy.c:141: warning: implicit declaration of function ‘nd_type’\n    js_land_proxy.c:141: error: ‘METHOD’ has no member named ‘body’\n    js_land_proxy.c:141: error: ‘NODE_IVAR’ undeclared (first use in this function)\n    js_land_proxy.c: In function ‘set’:\n    js_land_proxy.c:325: error: ‘ruby_errinfo’ undeclared (first use in this function)\n    js_land_proxy.c: In function ‘construct’:\n    js_land_proxy.c:384: error: ‘ruby_errinfo’ undeclared (first use in this function)\n    js_land_proxy.c: In function ‘method_missing’:\n    js_land_proxy.c:479: error: ‘ruby_errinfo’ undeclared (first use in this function)\n    js_land_proxy.c: In function ‘call’:\n    js_land_proxy.c:506: error: ‘ruby_errinfo’ undeclared (first use in this function)\n    js_land_proxy.c: In function ‘make_js_land_proxy’:\n    js_land_proxy.c:573: warning: passing argument 2 of ‘JS_CallFunctionName’ makes pointer from integer without a cast\n    /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/jsapi.h:2118: note: expected ‘struct JSObject *’ but argument is of type ‘jsval’\n    js_land_proxy.c:611: warning: passing argument 2 of ‘JS_CallFunctionName’ makes pointer from integer without a cast\n    /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/jsapi.h:2118: note: expected ‘struct JSObject *’ but argument is of type ‘jsval’\n    js_land_proxy.c:616: warning: passing argument 2 of ‘JS_CallFunctionName’ makes pointer from integer without a cast\n    /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/vendor/spidermonkey/jsapi.h:2118: note: expected ‘struct JSObject *’ but argument is of type ‘jsval’\n    make: *** [js_land_proxy.o] Error 1\n    \n    \n    Gem files will remain installed in /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0 for inspection.\n    Results logged to /home/martin/.rvm/gems/ruby/1.9.1/gems/johnson-2.0.0.pre0/ext/spidermonkey/gem_make.out\n","html_url":"https://github.com/jbarnette/johnson/issues/21","number":21,"title":"Can't install on ruby1.9","id":128105,"created_at":"2010-02-08T16:33:22Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/4fc84ea48a8768ee473fbc308032cb89?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4fc84ea48a8768ee473fbc308032cb89","url":"https://api.github.com/users/inukshuk","login":"inukshuk","id":325102},"updated_at":"2011-10-29T12:50:16Z","url":"https://api.github.com/repos/jbarnette/johnson/issues/comments/2564747","body":"Are there any major obstacles left in porting Johnson to 1.9? I've been looking into this a bit and can evaluate code without problems; I see the same issue @matschaffer describes above when executing [core.js](https://github.com/jbarnette/johnson/blob/master/lib/johnson/js/core.js) which seems to be caused by js_Execute in tracemonkey returning an error, however, by skipping core.js execution I can evaluate a fairly complex JavaScript library in Ruby 1.9 – so I'm wondering if someone with better knowledge of Johnson could tell me what exactly is the purpose of the code in core.js? Any ideas on why it fails? Any pointers on what could be done to fix this?\r\n\r\nThanks!","id":2564747,"created_at":"2011-10-29T12:50:16Z"}}