On Oct 27, 2005, at 7:27, Will Coleda (via RT) wrote:

But if I try this from languages/tcl, I get:

../../parrot -o foo.pbc foo.pir
../../parrot -o bar.pbc bar.pir
../../pbc_merge -o whee.pbc foo.pbc bar.pbc

Couldn't load 'tcl_group': unknown reason

Setting a breakpoint at Parrot_load_lib reveals that this a bit nasty. The HLL info is needed to compile loaded types, i.e. that "$P0 = new .TclString" et al works. This syntax should or course work inside PBcs too, which means that at runtime dynamic class libraries have to be loaded in same order as compile-time.

To achieve this the HLL info is created during unpacking PMC constants, which causes loading of the "tcl_group" shared lib. But as pbc_merge is obviously linked with null_config, loading the lib fails.

Changing the link line to use parrot_config should help. Better would be to not load the shared lib, if not running inside parrot, as it's AFAIK not needed to load it.

leo

Reply via email to