2009-11-08:
[17:14] <veged> anybody build v8cgi from trunk recently?[17:15] <veged> perhaps I have the same problem with build on mac as tlrobinson here -- http://helma.zumbrunn.com/mochabot/2009-10-01[17:22] <ashb> ondras: ^^[17:40] <veged> ondras: is it possible to build v8cgi on macosx now, or work still progress?[17:46] <ondras> WELL[17:46] <ondras> well[17:46] <ondras> sry caps[17:46] <ondras> some people report that it _is_ possible[17:46] <ondras> but I do not exactly know how :)[17:47] <ondras> on some macs, it works[17:47] <ondras> on others, it does not compile[17:47] <ondras> and on others, it compiles but refuses to run :)[17:47] <veged> from source or with custom SConstruct ?[17:47] <ondras> both[17:47] <ondras> what is your status?[17:48] <veged> g++ -o v8cgi src/js_common.o src/js_system.o src/js_io.o src/js_cache.o[17:48] <veged> ups[17:48] <veged> so http://code.google.com/p/v8cgi/issues/detail?id=37[17:48] <veged> here details for build from source[17:49] <veged> i try all arch variants of build libv8[17:49] <veged> all the same[17:50] <veged> with custom SConstruct from http://pastie.org/638060[17:51] <veged> i have less undefined symbols[17:51] <veged> 3 in fact: v8::Object::CheckedGetInternalField(int), v8::internal::Internals::kJSObjectType, v8::HandleScope::CreateHandle(v8::internal::Object*)[17:52] <ondras> hmm[17:54] <ondras> do you use the -undefined dynamic_lookup flag?[18:10] <veged> it seems no, because i don't know about this flag[18:10] <veged> =)[18:12] <veged> it must be in SConstruct?[18:13] <ondras> it surely is in sconstruct[18:13] <ondras> do you use current svn revision?[18:19] <veged> yep[18:19] <veged> 663[18:20] <ondras> if env["os"] == "darwin":[18:20] <ondras> env.Append([18:20] <ondras> SHLINKFLAGS = "-undefined dynamic_lookup",[18:20] <ondras> CPPDEFINES = ["DSO_EXT=so"][18:20] <ondras> )[18:20] <ondras> # if[18:20] <ondras> so you should be using that flag[18:20] <ondras> can you please verify that?[18:21] <veged> yes, wait plz[18:21] <MisterN> doesn't v8cgi have its own irc channel?[18:23] <ondras> no[18:23] <ondras> people come to talk about v8cgi cca once per 10 days[18:24] <ondras> i don't see a dedicated irc channel as a superb option :)[18:24] <veged> SConstruct line 134 -- it's here[18:24] <MisterN> ondras: it seems to me that v8cgi is more popular than flusspferd, and the flusspferd channel is used pretty much.[18:25] <ondras> MisterN: I would like to believe that is true (v8cgi more popular)...[18:26] <MisterN> ondras: most people seem to think "wow v8 is cool i like to use that"[18:26] <MisterN> so they are led to v8 plain, or maybe v8cgi or v8-juice[18:31] <ondras> veged: and is that used in compilation?[18:31] <ondras> MisterN: okay, should I read your comment as "please discuss v8cgi stuff elsewhere", or plainly as a suggestion? :)[18:32] <MisterN> ondras: a suggestion[18:32] <veged> how can i check that?[18:32] <MisterN> ondras: i think setting up a channel is easy enough given you're on freenode anyways[18:33] <veged> g++ -o v8cgi src/js_common.o src/js_system.o src/js_io.o src/js_cache.o src/js_gc.o src/js_app.o src/js_path.o src/v8cgi.o -L/Users/veged/Downloads/v8 -lv8 -lv8[18:33] <veged> i don't see anything similar[18:34] <veged> why CPPDEFINES = ["DSO_EXT=so"] but not CPPDEFINES = ["DSO_EXT=dylib"]?[18:34] <veged> i have ../v8/libv8.dylib[18:34] <ondras> hmm, that is other (unrelated) question[18:36] <ondras> nevertheless[18:36] <ondras> that flag should be used in compilation phase[18:36] <ondras> not linking[18:37] <ondras> MisterN: yeah, I know.. I just hate channels where people idle for X days without saying anything[18:37] <MisterN> ondras: are you the only v8cgi dev?[18:37] <MisterN> ondras: in #flusspferd we like to discuss dev questions[18:38] <ondras> MisterN: basically, yes[18:38] <veged> scons say: scons: Building targets ... && g++ -o v8cgi src/js_common.o src/js_system.o src/js_io.o src/js_cache.o src/js_gc.o src/js_app.o src/js_path.o src/v8cgi.o -L/Users/veged/Downloads/v8 -lv8 -lv8[18:38] <veged> after that exit[18:38] <veged> with "Undefined symbols:"[18:39] <ondras> nono[18:39] <ondras> you skip the compilation phase[18:39] <ondras> your sources are already compiled[18:39] <ondras> so scons do not re-compile them[18:39] <ondras> try scons -c to remove those .o files[18:39] <ondras> that would force scons to recompile them[18:39] <veged> scons --clean ?[18:39] <veged> ok[18:39] <ondras> scons -c[18:40] <ondras> maybe --clean works as well[18:41] <veged> g++ -o lib/process.dylib -dynamiclib -undefined dynamic_lookup src/lib/process/js_process.os -L/Users/veged/Downloads/v8 -lv8 -lv8[18:41] <veged> here it is[18:47] <veged> but still the same errors[18:49] <veged> scons: Building targets ...[18:50] <veged> g++ -o src/lib/process/js_process.os -c -Wall -O3 -fPIC -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/etc/v8cgi.conf -Ddarwin -DDSO_EXT=so -DREUSE_CONTEXT -Isrc -I/Users/veged/Downloads/v8/include src/lib/process/js_process.cc[18:50] <veged> g++ -o lib/process.dylib -dynamiclib -undefined dynamic_lookup src/lib/process/js_process.os -L/Users/veged/Downloads/v8 -lv8 -lv8[18:50] <veged> g++ -o src/js_app.o -c -Wall -O3 -DHAVE_MMAN_H -DHAVE_SLEEP -DCONFIG_PATH=/etc/v8cgi.conf -Ddarwin -DDSO_EXT=so -DREUSE_CONTEXT -Isrc -I/Users/veged/Downloads/v8/include src/js_app.cc[18:50] <ondras> hmm[18:50] <ondras> sorry, I have no idea how to fix this :/[18:51] <ondras> have you recompiled a recent v8?[18:52] <veged> yes[18:52] <veged> Revision: 3239[18:52] <veged> scons arch=x64 library=shared[18:53] <veged> libv8.dylib[18:57] <ondras> hmm[18:57] <ondras> 64bit and macosx[18:57] <ondras> I am not aware of anyone successful with this combination[18:58] <ondras> but if you somehow manage to get it going, you will have my congratulations ;)[19:01] <veged> with 32bit i have message from scons about wrong arch[19:06] <ondras> hm, I don't even know anyone skilled enough with osx to solve this[19:07] <veged> where use lib/process.dylib?[19:07] <veged> it builds with -undefined dynamic_lookup[19:07] <veged> but i cant see its use[19:10] <ondras> files in lib/ are JS modules[19:10] <ondras> think of them as code libraries (i.e. php extensions)[19:11] <ondras> none of them is necessary to run v8cgi, they just offer additional functionality[20:05] <veged> okay, now channel ontopic question =) assume i have some js functionality with pollution to prototypes of global objects, such as Array, String etc. How can i pack it in secure module?[20:06] <veged> with minimal changes, at ideal without changes[20:07] <ondras> this is implementation dependent[20:07] <ondras> in secured environment, you don't modify global objects, because your module have its own set of them[20:08] <ondras> in non-secured environmen, you always change global objects, which are shared amongst all modules[20:08] <veged> and what cases as of today?[20:08] <ondras> (v8cgi uses the non-secured approach)[20:08] <veged> ok[20:09] <ondras> therefore, you are encouraged not to modify global prototypes :)[20:09] <ondras> or at least to discuss it prior to commencing work :)[20:12] <veged> is any way to change v8cgi approach?[20:12] <veged> to secure?[20:15] <ondras> maybe[21:10] <BryanWB> evilstreak: ;) sorry to ask u another tdd question[21:10] <BryanWB> evilstreak: how do i avoid getting bogged down in small details while writing my tests before my actual code?[21:43] <evilstreak> don't know :/ not that experienced with TDD[21:44] <evilstreak> write enough tests to outline the functionality you need and no more[21:44] <evilstreak> don't engineer in extra stuff because you think you might need it later, just keep it simple[21:45] <inimino> being forced to consider details and edge cases before you write code is one of the main argued benefits of TDD[21:52] <evilstreak> edge cases yes, overengineering no
Logs by date :