Tuesday Release
Andrew Dougherty
doughera at lafayette.edu
Wed Dec 10 15:16:46 UTC 2008
On Tue, 9 Dec 2008, Andrew Whitworth wrote:
> 4) Two tasks on the roadmap are listed as "at risk", meaning they
> might not land before the release. To anybody with a few extra tuits
> and strong C-foo, I need some help in the calling_conventions branch
> tracking down a nasty and confusing bug.
Unfortunately, I tried haven't been able to even get this to build. Last
night, I set off a job to build it, but it failed due to some MANIFEST
issues. I fixed them later in the evening and restarted the build, but it
still failed. Earlier this morning, I re-ran 'svn up' to sync up to rev
33761, and it still fails to build with syntax errors (patch below) in
src/multidispatch.c. Fixing those, it now fails to build with linker
errors, for which I don't have a patch handy.
CC -o miniparrot src/main.o src/null_config.o \
-L/net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib -lparrot -lsocket -lnsl -ldl -lm -lpthread -lrt -lpcre -lcrypto -lintl -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/SC4.2/lib -L/usr/local/lib -xlibmieee
Undefined first referenced
symbol in file
Parrot_io_write_utf8 /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(api.o)
Parrot_io_read_utf8 /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(api.o)
Parrot_IOData_mark /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(dod.o)
Parrot_io_init /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(inter_create.o)
Parrot_io_finish /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(inter_create.o)
piooffsetzero /net/kepler/export/home/doughera/src/parrot/parrot-cc/blib/lib/libparrot.a(filehandle.o)
ld: fatal: Symbol referencing errors. No output written to miniparrot
*** Error code 1
make: Fatal error: Command failed for target `miniparrot'
Anyway, since each attempt takes a *long* time (the one that generated
that linker error took well over an hour), I'm afraid I'm out of time and
can't help any further.
--- parrot-svn/src/multidispatch.c 2008-12-10 08:54:14.000000000 -0500
+++ parrot-cc/src/multidispatch.c 2008-12-10 09:48:05.000000000 -0500
@@ -370,7 +370,7 @@
INTVAL in_return_sig = 0;
PMC *returns = PMCNULL;
PMC *call_object = pmc_new(interp, enum_class_CallSignature);
- PMC *type_tuple = PMCNULL; // = pmc_new(interp, enum_class_FixedIntegerArray);
+ PMC *type_tuple = PMCNULL; /* = pmc_new(interp, enum_class_FixedIntegerArray); */
INTVAL sig_len = strlen(sig);
STRING *s_sig = string_from_cstring(interp, sig, sig_len);
STRING *string_sig = NULL;
@@ -393,8 +393,8 @@
sig_len = sig_len + 2;
}
- //VTABLE_set_integer_native(interp, type_tuple, sig_len);
- //VTABLE_set_pmc(interp, call_object, type_tuple);
+ /* VTABLE_set_integer_native(interp, type_tuple, sig_len); */
+ /* VTABLE_set_pmc(interp, call_object, type_tuple); */
VTABLE_set_string_native(interp, call_object, string_sig);
@@ -457,16 +457,20 @@
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
"Multiple Dispatch: 'i' adverb modifier may only be used on the invocant");
- //VTABLE_set_integer_keyed_int(interp, type_tuple, 0,
- // VTABLE_type(interp, obj));
+ /*
+ VTABLE_set_integer_keyed_int(interp, type_tuple, 0,
+ VTABLE_type(interp, obj));
+ */
VTABLE_push_pmc(interp, call_object, obj);
i++; /* skip the 'i' modifier */
}
else {
PMC *pmc_arg = va_arg(args, PMC *);
- //if (!PMC_IS_NULL(pmc_arg))
- // VTABLE_set_integer_keyed_int(interp, type_tuple,
- // i, VTABLE_type(interp, pmc_arg));
+ /*
+ if (!PMC_IS_NULL(pmc_arg))
+ VTABLE_set_integer_keyed_int(interp, type_tuple,
+ i, VTABLE_type(interp, pmc_arg));
+ */
VTABLE_push_pmc(interp, call_object, pmc_arg);
}
--
Andy Dougherty doughera at lafayette.edu
More information about the parrot-dev
mailing list