Ticket #1656 (closed bug: invalid)
Embed API cannot find core PBC or PIR files
| Reported by: | dukeleto | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | embed/extend | Version: | 2.4.0 |
| Severity: | high | Keywords: | |
| Cc: | Language: | ||
| Patch status: | Platform: | all |
Description
This test program:
#include "parrot/embed.h"
#include "parrot/extend.h"
Parrot_Interp interp;
int main(int argc, char *argv[])
{
Parrot_PMC func_pmc;
Parrot_String err, filename;
interp = Parrot_new(NULL);
imcc_init(interp);
filename = Parrot_str_new(interp, "P6object.pbc");
//filename = Parrot_str_new(interp, "P6object.pir");
Parrot_load_bytecode(interp,filename);
}
Compiled with
$ cc embed2.c -o embed2 `pkg-config --cflags --libs parrot`; ./embed2
gives:
"load_bytecode" couldn't find file 'P6object.pbc'
The same thing happens when trying to load the PIR file.
This makes loading test_more.pir or any core PBC from the Embedding API very cumbersome, since the full path needs to be figured out via many parrot_config keys. This specifically effects PL/Parrot, which needs to load P6object.pbc to work correctly.
Core PBC and PIR files should be loadable without jumping through these hoops.
Change History
Note: See
TracTickets for help on using
tickets.
