"Joshua Isom (via RT)" <[EMAIL PROTECTED]> wrote:
I tried building tcl today but got a failure in parrot, undefined
symbol. It happens when first outputting the first pbc. I did a
distclean and reconfigured without optimize or using ccache, but that
didn't help. 'make dynclasses-test' tests dynlexpad and foo without
problems(I did have to edit the Makefile to change the cwd to the right
directory), but only pybuiltin.pmc uses Parrot_PMC_typenum.
perl tools/gen_lib.pl tcl.pir_template > lib/tcllib.pir
../../parrot --output=lib/tcllib_temp.pbc lib/tcllib.pir
dyld: ../../parrot Undefined symbols:
_Parrot_PMC_typenum
make: *** [lib/tcllib_temp.pbc] Trace/BPT trap
Recently we stopped linking extend.obj into dynclasses. The meaning behind
this is that functions in extend.c should not be used in dynclasses; leo
explained on IRC that "these functions are just wrappers around existing
other APIs and shouldn't be used inside Parrot code".
Parrot_PMC_typenum has already been removed, thus why you got undefined
symbols warning - the symbol doesn't exist any more. I've just ci'd changes
to the tcl PMCs not to use Parrot_PMC_typenum and Parrot_call_sub, and they
now build again here (and should elsewhere). (Note to Coke/mdiep: hope I
fixed it right...)
If you could verify that it now builds on darwin, this can be closed up.
Thanks,
Jonathan