# New Ticket Created by mt1957 # Please include the string: [perl #127696] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=127696 >
L.s. First I am experimenting without documentation and trying to read code from rakudo source to code what I need. It might not be the proper way to get a CompUnit into the $*REPO repo-chain. Suppose I have a module X::Y and it sits in ./mylib. The path is not yet known in perl6. All this info must be set at run time so what I did is; # These values come from somewhere else my $lib = 'mylib'; my $mod = 'X::Y'; # Make a repository object my $repository = CompUnit::Repository::FileSystem.new(:prefix($lib)); # Insert it into the $*REPO list CompUnit::RepositoryRegistry.use-repository($repository); # Then require the module require ::($mod); This produces an error which needed to be send to rakudobug; (btw, the symbol XML comes from the imported module which also is imported into the code loading that particular module $mod; P6M Merging GLOBAL symbols failed: duplicate definition of symbol XML <Internal error while creating backtrace: No such method 'static_id' for invocant of type 'NQPRoutine' in block at gen/moar/m-CORE.setting line 20516 in method outer-caller-idx at gen/moar/m-CORE.setting line 20532 in block at gen/moar/m-CORE.setting line 20550 in block at gen/moar/m-CORE.setting line 20548 in block at gen/moar/m-CORE.setting line 20542 in method nice at gen/moar/m-CORE.setting line 20539 in method Str at gen/moar/m-CORE.setting line 20572 in method Stringy at gen/moar/m-CORE.setting line 1128 in sub infix:<~> at gen/moar/m-CORE.setting line 1616 in block at gen/moar/m-CORE.setting line 30160 in code at gen/moar/m-CORE.setting line 20671 in block at gen/moar/m-CORE.setting line 20671 in method gist at gen/moar/m-CORE.setting line 20665 in block at gen/moar/m-CORE.setting line 20944 in sub print_exception at gen/moar/m-CORE.setting line 20937 . Please report this as a bug (mail to rakudo...@perl.org) and re-run with the --ll-exception command line option to get more information about your error> Run as suggested with --ll-exception option gives; P6M Merging GLOBAL symbols failed: duplicate definition of symbol XML at gen/moar/m-ModuleLoader.nqp:177 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/ModuleLoader.moarvm:merge_globals:300) from gen/moar/m-CORE.setting:18442 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:merge-symbols:63) from gen/moar/m-CORE.setting:30082 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:REQUIRE_IMPORT:148) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:222 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::208) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:185 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::96) from gen/moar/m-CORE.setting:4083 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:pull-one:256) from gen/moar/m-CORE.setting:2457 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:sink-all:20) from gen/moar/m-CORE.setting:12911 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:sink:36) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:183 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E::47) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Actions.pm6:182 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/12/12E7F67FB0111555EF080CB5E075682D58C95C5E:prelude:171) from gen/moar/stage2/QRegex.nqp:1342 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/QRegex.moarvm:!reduce:29) from gen/moar/stage2/QRegex.nqp:1303 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/QRegex.moarvm:!cursor_pass:47) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Grammar.pm6:23 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD:prelude:167) from <unknown>:1 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD::156) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml/Grammar.pm6:15 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/DA/DA8DDF8223A1C4354B80436DC7DE72DF8DD04CDD:TOP:95) from gen/moar/m-CORE.setting:23693 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:parse:168) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:107 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB:parse:365) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:71 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB::42) from /home/marcel/Languages/Perl6/Projects/Semi-xml/lib/Semi-xml.pm6:74 (/home/marcel/Languages/Perl6/Projects/Semi-xml/.precomp/5DD394780E812F979DC70666FB9929F25731B8C6.1457772664.69799/61/612900878A648A7FE050FD33960E94823A5A59DB:parse-file:66) from t/104-xml.t:166 (<ephemeral file>:<unit>:161) from t/104-xml.t:1 (<ephemeral file>:<unit-outer>:10) from gen/moar/stage2/NQPHLL.nqp:1371 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval:228) from src/Perl6/Compiler.nqp:332 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/Compiler.moarvm:eval:37) from gen/moar/stage2/NQPHLL.nqp:1574 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles:91) from gen/moar/stage2/NQPHLL.nqp:1468 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval:214) from src/Perl6/Compiler.nqp:70 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval:93) from gen/moar/stage2/NQPHLL.nqp:1442 (/home/marcel/Software/perl6/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line:114) from gen/moar/m-main.nqp:37 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:MAIN:18) from gen/moar/m-main.nqp:33 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<mainline>:189) from <unknown>:1 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<main>:8) from <unknown>:1 (/home/marcel/Software/perl6/rakudo/install/share/perl6/runtime/perl6.moarvm:<entry>:9) Question is if the above steps are ok to get a module read and parsed. The error might disappear when I have solved the problem of clashing symbols but the error above is about an internal problem. Thanks in advance. Marcel Timmerman P.s. This is Rakudo version 2016.02-136-g412d9a4 built on MoarVM version 2016.02-25-gada3752 implementing Perl 6.c.