Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Building tcl fails on darwin (undefined symbol in parrot)

3 views
Skip to first unread message

Joshua Isom

unread,
Jan 13, 2006, 9:18:19 AM1/13/06
to perl6-i...@perl.org
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

Joshua Isom

unread,
Jan 13, 2006, 9:23:40 AM1/13/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Joshua Isom
# Please include the string: [perl #38225]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38225 >

Jonathan Worthington

unread,
Jan 13, 2006, 3:26:34 PM1/13/06
to perl6-i...@perl.org, bugs-bi...@rt.perl.org
"Joshua Isom (via RT)" <parrotbug...@parrotcode.org> 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

Joshua Isom

unread,
Jan 13, 2006, 5:57:26 PM1/13/06
to parrotbug...@parrotcode.org
Well it fixed part of the parrot problem... Now I get a syntax error
for tcl.pir, line 18, unexpected dot, so I'm guessing that .DynLexPad
isn't set. I guess the little comment at the top, "therefore the
.DynLexPad constant is already available" isn't quite true.

Joshua

0 new messages