On 29/10/2010, at 1:58 AM, Erick Tryzelaar wrote: > I changed some things around in fbuild which should fix the problem. > Here's how to fix it: > > % cd $FELIX > % git remote set-url origin git://github.com/erickt/felix.git > % cd fbuild > % git remote set-url origin git://github.com/erickt/fbuild.git > % cd ../src/compiler/dypgen > % git remote set-url origin git://github.com/erickt/dypgen.git > % cd ../ocs > % git remote set-url origin git://github.com/erickt/ocs.git > % cd ../../.. > % git submodule init > % git submodule update > > That should hopefully get you back up and running. By the way John, I > think I forgot to tell you to set the dypgen and ocs paths.
Yeah, but done now. BTW: I am getting a weird error: ~/felix>flx --test=build/release-optimized/ tools/webserver --root=build/release-optimized/ SYSTEM FAILURE Binding error, cannot find in table: getcwd_mf_1875 index 1875, parent 6176 However I suspect the message is plain wrong, here's the Ocaml: let str_parent = function | Some i -> string_of_int i | None -> "global" in Flx_mtypes2.iter_bids begin fun i -> match try Some (Flx_sym_table.find_with_parent state.sym_table i) with Not_found -> None with | None -> () | Some (parent, symdef) -> try bbind_symbol state bsym_table i parent symdef with Not_found -> try match hfind "bbind" state.sym_table i with { Flx_sym.id=id } -> failwith ("Binding error, cannot find in table: " ^ id ^ " index " ^ string_of_bid i ^ ", parent " ^ str_parent parent) with Not_found -> failwith ("Binding error UNKNOWN SYMBOL, index " ^ string_of_bid i) end dummy_bid !(state.syms.counter) The message is SURE to be wrong! If the symbol is not found in sym_table, you just get "None". Otherwise, we try a match on a second lookup in the same table (which can't fail, because we just found it) and then if we can't bind it due to a Not_found error we say we can't find it. We already found it .. TWICE. The real problem is that bbind_symbol is throwing a Not_found. It seems there may be a problem here: ~/felix>grep _mf_ src/compiler/*/* src/compiler/flx_desugar/flx_desugar.ml: name ^ "_mf_" ^ string_of_bid match_function_index src/compiler/flx_desugar/flx_desugar.ml: let match_id = name^ "_mf_" ^ string_of_bid match_index in which is translating return if C_hack::isNULL p then "" else string p endif; into return match ... with | true => p | false => string p endmatch [Felix does not have any "conditional" expressions other than "match"] Such translations are typically done by generating a wrapper and calling it, to avoid lookup problems, there is no lookup using the synthesised names, instead the actual table index of the wrapper is used. -- john skaller skal...@users.sourceforge.net ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language