How is make install for the pbc_to_exe generated languages supposed to work?
For the utils you simply link to a fixed install_config.o with fixed builddir. But the languages are generated from a .pir file with hardcoded, wrong builddir. I think about adding support for an optional --install arg in all pir's for the pbc_to_exe step sub 'compile_file', and use the install builddir then. Maybe also replace in 'link_file' parrot_config with install_config. Or is there a possibility to override the config hash in the pbc somehow? ---------- Forwarded message ---------- From: Reini Urban <[EMAIL PROTECTED]> Date: 2008/7/21 Subject: Re: [ANNOUNCEMENT] Updated: parrot-0.6.4-1 with parrot-perl6 and parrot-languages To: [EMAIL PROTECTED] 2008/7/21 Michael Schaap: > On 20-Jul-2008 17:36, Michael Schaap wrote: >> On 19-Jul-2008 21:42, Reini Urban wrote: >>> Michael Schaap schrieb: >>>> Is perl6 supposed to (somewhat) work, yet? >>>> I get: >>>> % perl6 -e 'say "Hello, World!"' >>>> "load_bytecode" couldn't find file 'P6object.pbc' >>>> current instr.: 'onload' pc 0 (src/gen_builtins.pir:28) >>>> called from Sub 'parrot;Perl6::Compiler;main' pc -1 ((unknown file):-1) >>>> >>>> P6object does exist, in /usr/lib/parrot/library. >>>> If I cd to this directory first, I get: >>>> % cd /usr/lib/parrot/library; perl6 -e 'say "Hello, World!"' >>>> Null PMC access in get_string() >>>> current instr.: 'parrot;P6metaclass;add_parent' pc 119 >>>> (runtime/parrot/library/P6object.pir:137) >>>> called from Sub 'parrot;P6metaclass;add_parent' pc 241 >>>> (runtime/parrot/library/P6object.pir:215) >>>> called from Sub 'parrot;P6metaclass;register' pc 411 >>>> (runtime/parrot/library/P6object.pir:295) >>>> called from Sub 'parrot;Str;onload' pc 965 (src/gen_builtins.pir:619) >>>> called from Sub 'parrot;Perl6::Compiler;main' pc -1 ((unknown file):-1) > Hmm... I see in /usr/share/doc/parrot-0.6.4/languages/perl6/README: > If you want to create a binary executable of the compiler > that can be invoked as "perl6" from the command line, then > try "make perl6". This will create a "perl6" (or "perl6.exe") > binary that can be directly used from the command line: > > $ ./perl6 hello.pl > > This binary executable feature is still somewhat experimental, > and may not work on all platforms. Also, the binary has hardcoded > paths to the Parrot build tree (especially the dynamic libraries > and modules), so removing the build tree will cause the binary > to stop working. You are right. perl6 and all the similarlily generated parrot-languages binaries do not work. They have hardcoded paths to the builddir, which I thought I have fixed, but my fix only affected parrot itself not the dumped (with pbc_to_exe generated) languages executables. And my test did not include renaming the builddir. Best is to remove these two packages from the release dir until I fix it. I'm behind a strict firewall now, can someone do this for me? -- Reini Urban http://phpwiki.org/ http://murbreak.at/