"make pbc_to_c" fails

1 view
Skip to first unread message

Ovid

unread,
Dec 30, 2007, 5:38:54 AM12/30/07
to perl6-i...@perl.org
I'm having trouble with the initial Configure.pl and with the pbc_to_c
target on my Intel Macbook. I have rough notes below about the steps
I've taken. If anyone needs more information, just ask and I'd be
happy to send anything I can.

Following the instructions in chromatic's post at use.perl about
building a Perl 6 binary:

http://use.perl.org/article.pl?sid=07/12/30/0912211

I got this error on the latest version from svn:

parrot $ perl Configure.pl
Base class package "Parrot::Configure::Compiler" is empty.
(Perhaps you need to 'use' the module which defines that package
first.)
at lib/Parrot/Configure.pm line 44

chromatic recommended that I check out r24278, which I did with a clean
install (blew everything away and started over), and I tried again.
Here's a summary:

Checked out revision 24278.
code $ cd parrot/
parrot $ perl Configure.pl
Parrot Version 0.5.1 Configure 2.0
Copyright (C) 2001-2007, The Perl Foundation.

... snip ...

Checking MANIFEST...No such file: t/configure/104-init_miniparrot.t
No such file: t/configure/106-init_headers.t
No such file: t/configure/122-auto_ops.t
No such file: t/configure/128-auto_va_ptr.t
No such file: t/configure/144-auto_readline.t
No such file: t/configure/148-auto_python.t
No such file: t/configure/149-auto_m4.t
No such file: t/configure/152-auto_revision.t
No such file: t/configure/153-gen_icu.t
No such file: t/configure/154-gen_config_h.t
No such file: t/configure/155-gen_core_pmcs.t
No such file: t/configure/156-gen_parrot_include.t
No such file: t/configure/157-gen_languages.t
No such file: t/configure/159-gen_platform.t

Ack, some files were missing! I can't continue running
without everything here. Please try to find the above
files and then try running Configure again.

step init::manifest failed: no result returned at Configure.pl line
349

Setting up Configure's default
values.................................done.

... snip ...

Recording configuration data for later
retrieval......................done.
During configuration the following steps failed:
01: init::manifest
You should diagnose and fix these errors before calling 'make'
parrot $

And later, the "make pbc_to_c" step fails with:

compilation failed
current instr.: '_throw' pc 438 (pbc_to_c.pir:250)
called from Sub 'compile_file' pc 485 (pbc_to_c.pir:268)
called from Sub 'main' pc 126 (pbc_to_c.pir:29)
make: *** [pbc_to_c] Error 1

(More detailed error message below).

Cheers,
Ovid

parrot $ make pbc_to_c
perl tools/dev/pbc_to_c_gen.pl \
'./CFLAGS cc "" -I./include -g -pipe -fno-common -no-cpp-precomp
-I/usr/local/include -pipe -fno-common -Wno-long-double
-DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_FORMAT
-DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN
-DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16
-mno-accumulate-outgoing-args -W -Wall -Waggregate-return
-Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wdeclaration-after-statement -Wdisabled-optimization -Wextra
-Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winit-self
-Winline -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-field-initializers -Wmissing-include-dirs
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing
-Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef
-Wunknown-pragmas -Wvariadic-macros -Wwrite-strings
-I/opt/local/include -g -Wno-shadow -DHAVE_COMPUTED_GOTO -I. -o \
-o blib/lib/libparrot.a -lm -lreadline -L/usr/local/lib
-L/opt/local/lib ' \
> pbc_to_c.pir
./parrot -o pbc_to_c.pbc pbc_to_c.pir
./parrot pbc_to_c.pir pbc_to_c.pbc
/usr/bin/ld: Undefined symbols:
_PackFile_fixup_subs
_PackFile_new
_PackFile_unpack
_Parrot_destroy
_Parrot_exit
_Parrot_loadbc
_Parrot_new
_Parrot_runcode
_do_sub_pragmas
collect2: ld returned 1 exit status
cc -I./include -g -pipe -fno-common -no-cpp-precomp
-I/usr/local/include -pipe -fno-common -Wno-long-double
-DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_FORMAT
-DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN
-DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16
-mno-accumulate-outgoing-args -W -Wall -Waggregate-return
-Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wdeclaration-after-statement -Wdisabled-optimization -Wextra
-Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Wimport -Winit-self
-Winline -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations
-Wmissing-field-initializers -Wmissing-include-dirs
-Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow
-Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing
-Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef
-Wunknown-pragmas -Wvariadic-macros -Wwrite-strings
-I/opt/local/include -g -Wno-shadow -DHAVE_COMPUTED_GOTO -I. -o -o
blib/lib/libparrot.a -lm -lreadline -L/usr/local/lib -L/opt/local/lib
pbc_to_c.c -o pbc_to_c
compilation failed
current instr.: '_throw' pc 438 (pbc_to_c.pir:250)
called from Sub 'compile_file' pc 485 (pbc_to_c.pir:268)
called from Sub 'main' pc 126 (pbc_to_c.pir:29)
make: *** [pbc_to_c] Error 1
parrot $

--
Buy the book - http://www.oreilly.com/catalog/perlhks/
Perl and CGI - http://users.easystreet.com/ovid/cgi_course/
Personal blog - http://publius-ovidius.livejournal.com/
Tech blog - http://use.perl.org/~Ovid/journal/

Allison Randal

unread,
Dec 30, 2007, 8:28:58 AM12/30/07
to publiustemp-p...@yahoo.com, perl6-i...@perl.org
Ovid wrote:
>
> I got this error on the latest version from svn:
>
> parrot $ perl Configure.pl
> Base class package "Parrot::Configure::Compiler" is empty.
> (Perhaps you need to 'use' the module which defines that package
> first.)
> at lib/Parrot/Configure.pm line 44

I have the same problem, on an Intel Macbook and Ubuntu i686. The file
lib/Parrot/Configure/Compiler.pm was apparently not merged correctly
from the explicitconf branch (r24294).

Allison

Ovid

unread,
Dec 30, 2007, 8:41:36 AM12/30/07
to perl6-i...@perl.org
--- Ovid <publiustemp-p...@yahoo.com> wrote:
On a related note, I received this error message:

> Ack, some files were missing! I can't continue running
> without everything here. Please try to find the above
> files and then try running Configure again.

Configure.pl kept running yet the message implies that it can't. Is
assume this is a bug? If so, it seems that
&Parrot::Configure::runsteps should include init::manifest in
%steps_to_die_for, regardless of options passed in.

Cheers,
Ovid

James E Keenan

unread,
Dec 30, 2007, 9:38:05 AM12/30/07
to perl6-i...@perl.org, publiustemp-p...@yahoo.com
Ovid wrote:
> I'm having trouble with the initial Configure.pl and with the pbc_to_c
> target on my Intel Macbook. I have rough notes below about the steps
> I've taken. If anyone needs more information, just ask and I'd be
> happy to send anything I can.
>
> Following the instructions in chromatic's post at use.perl about
> building a Perl 6 binary:
>
> http://use.perl.org/article.pl?sid=07/12/30/0912211
>
> I got this error on the latest version from svn:
>
> parrot $ perl Configure.pl
> Base class package "Parrot::Configure::Compiler" is empty.
> (Perhaps you need to 'use' the module which defines that package
> first.)
> at lib/Parrot/Configure.pm line 44

Ovid et al.: I apologize for the confusion. Barney diagnosed the
problem and corrected it in r24298 and r24303. I had failed to copy
lib/Parrot/Configure/Compiler.pm from branch to trunk. Lacking that,
nothing else made sense.

If you do an 'svn update', you should get a correct distribution. I
have successfully configured on i386-linux and am now doing so on
ppc-darwin.

Although it is not required for running chromatic's process, you might
wish to begin with:

perl Configure.pl --test

... to see that the configuration and build tools all work properly
before you say 'make'.


>
> chromatic recommended that I check out r24278, which I did with a clean
> install (blew everything away and started over), and I tried again.
> Here's a summary:
>
> Checked out revision 24278.
> code $ cd parrot/
> parrot $ perl Configure.pl
> Parrot Version 0.5.1 Configure 2.0
> Copyright (C) 2001-2007, The Perl Foundation.
>
> ... snip ...
>
> Checking MANIFEST...No such file: t/configure/104-init_miniparrot.t
> No such file: t/configure/106-init_headers.t
> No such file: t/configure/122-auto_ops.t
> No such file: t/configure/128-auto_va_ptr.t

The tests were renumbered subsequent to 24278.

[snip]

Since configuration did not complete successfully, there was no way that
any 'make' target could be run.


>
> parrot $ make pbc_to_c
> perl tools/dev/pbc_to_c_gen.pl \
> './CFLAGS cc "" -I./include -g -pipe -fno-common -no-cpp-precomp
> -I/usr/local/include -pipe -fno-common -Wno-long-double

I haven't tried this new thing; will have to do so myself.

kid51

Ovid

unread,
Dec 30, 2007, 10:04:29 AM12/30/07
to James E Keenan, perl6-i...@perl.org
--- James E Keenan <jk...@verizon.net> wrote:

Hi James,

> Although it is not required for running chromatic's process, you
> might wish to begin with:
>
> perl Configure.pl --test
>
> ... to see that the configuration and build tools all work properly
> before you say 'make'.

Thanks for that tip. I assume from other comments that you've made
that if there are Configure test failures, that trying to continue is
useless.

svn co https://svn.perl.org/parrot/trunk parrot \
&& cd parrot \
&& perl Configure.pl --test

4/1089 tests failed. Test below. As usual, if there is anything else
I can do, please let me know.

Cheers,
Ovid

t/postconfigure/01-options.......................ok
t/postconfigure/02-data_slurp....................ok
t/postconfigure/03-revision_no_DEVELOPING........ok
t/postconfigure/04-revision......................ok
t/postconfigure/05-trace.........................skipped: Tests
irrelevant unless configuration completed with tracing requested
t/postconfigure/06-data_slurp_temp...............ok
t/tools/pmc2cutils/00-qualify....................1/10
# Failed test (t/tools/pmc2cutils/00-qualify.t at line 30)
# Looks like you failed 1 test of 10.
t/tools/pmc2cutils/00-qualify.................... Dubious, test
returned 1 (wstat 256, 0x100)
Failed 1/10 subtests
t/tools/pmc2cutils/01-pmc2cutils.................ok
t/tools/pmc2cutils/02-find_file..................ok
t/tools/pmc2cutils/03-dump_vtable................ok
t/tools/pmc2cutils/04-dump_pmc...................63/?
# Failed test (t/tools/pmc2cutils/04-dump_pmc.t at line 297)
# ''
# doesn't match '(?-xism:^cannot find file 'scalar\.dump' in path)'
t/tools/pmc2cutils/04-dump_pmc...................92/? # Looks like you
failed 1 test of 106.
t/tools/pmc2cutils/04-dump_pmc................... Dubious, test
returned 1 (wstat 256, 0x100)
Failed 1/106 subtests
t/tools/pmc2cutils/05-gen_c......................ok
t/tools/pmc2cutils/06-print_tree.................ok
t/tools/pmc2cutils/07-open_file..................ok
t/tools/pmc2cutils/08-pmc-pm.....................ok
t/tools/ops2cutils/01-new........................ok
t/tools/ops2cutils/02-usage......................ok
t/tools/ops2cutils/03-print_c_header_file........ok
t/tools/ops2cutils/04-print_c_source_top.........ok
t/tools/ops2cutils/05-print_c_source_bottom......ok
t/tools/ops2cutils/06-dynamic....................ok
t/tools/ops2cutils/07-make_incdir................ok
t/tools/ops2cutils/08-nolines....................ok
t/tools/ops2cutils/09-dynamic_nolines............ok
t/tools/ops2pmutils/00-qualify...................1/11
# Failed test (t/tools/ops2pmutils/00-qualify.t at line 19)

# Failed test (t/tools/ops2pmutils/00-qualify.t at line 23)
# Looks like you failed 2 tests of 11.
t/tools/ops2pmutils/00-qualify................... Dubious, test
returned 2 (wstat 512, 0x200)
Failed 2/11 subtests
t/tools/ops2pmutils/01-ops2pmutils...............ok
t/tools/ops2pmutils/02-usage.....................ok
t/tools/ops2pmutils/03-new.......................ok
t/tools/ops2pmutils/04-prepare_ops...............ok
t/tools/ops2pmutils/05-renum_op_map_file.........ok
t/tools/ops2pmutils/06-load_op_map_files.........ok
t/tools/ops2pmutils/07-no_ops_skip...............ok
t/tools/ops2pmutils/08-sort_ops..................ok
t/tools/ops2pmutils/09-prepare_real_ops..........ok
t/tools/ops2pmutils/10-print_module..............ok
t/tools/ops2pmutils/11-print_h...................ok

Test Summary Report
-------------------
t/tools/pmc2cutils/00-qualify.t (Wstat: 256 Tests: 10
Failed: 1)
Failed test number(s): 5
Non-zero exit status: 1
t/tools/pmc2cutils/04-dump_pmc.t (Wstat: 256 Tests: 106
Failed: 1)
Failed test number(s): 63
Non-zero exit status: 1
t/tools/ops2pmutils/00-qualify.t (Wstat: 512 Tests: 11
Failed: 2)
Failed test number(s): 8-9
Non-zero exit status: 2
t/tools/ops2pmutils/08-sort_ops.t (Wstat: 0 Tests: 87
Failed: 0)
TODO passed: 50
Files=36, Tests=1089, 24 wallclock secs ( 0.28 usr 0.29 sys + 18.09
cusr 2.18 csys = 20.84 CPU)
Result: FAIL
Failed 3/36 test programs. 4/1089 subtests failed.

James E Keenan

unread,
Dec 30, 2007, 10:23:14 AM12/30/07
to publiustemp-p...@yahoo.com, perl6-i...@perl.org

On Dec 30, 2007, at 10:04 AM, Ovid wrote:

> --- James E Keenan <jk...@verizon.net> wrote:
>
> Hi James,
>
>> Although it is not required for running chromatic's process, you
>> might wish to begin with:
>>
>> perl Configure.pl --test
>>
>> ... to see that the configuration and build tools all work properly
>> before you say 'make'.
>
> Thanks for that tip. I assume from other comments that you've made
> that if there are Configure test failures, that trying to continue is
> useless.
>
> svn co https://svn.perl.org/parrot/trunk parrot \
> && cd parrot \
> && perl Configure.pl --test
>
> 4/1089 tests failed. Test below. As usual, if there is anything else
> I can do, please let me know.
>
> Cheers,
> Ovid
>


Try a 'make realclean' and then re-run the above commands.


Reply all
Reply to author
Forward
0 new messages