make realclean && perl Configure.pl && make
results in:
...
cc -I./include -I./include/pmc -D_REENTRANT -D_GNU_SOURCE -pipe -fstack-
protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST -
DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -
DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -
DHASATTRIBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT -DHASATTRIBUTE_COLD -
DHAS_GETTEXT -g -fPIC -falign-functions=16 -funit-at-a-time -fexcess-
precision=standard -maccumulate-outgoing-args -W -Wall -Waggregate-return -
Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -
Wdiv-by-zero -Wenum-compare -Wendif-labels -Wextra -Wformat -Wformat-extra-
args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimport -
Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -
Werror=missing-braces -Wmissing-declarations -Wmissing-field-initializers -Wno-
missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -
Wparentheses -Wpointer-arith -Wpointer-sign -Wreturn-type -Wsequence-point -
Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wtrigraphs -Werror=undef -Wno-unused -Wunknown-pragmas -Wvariadic-macros -
Wwrite-strings -Wc++-compat -Werror=declaration-after-statement -
Werror=implicit-function-declaration -Wmissing-prototypes -Werror=nested-
externs -Werror=old-style-definition -Werror=strict-prototypes -
fvisibility=hidden -Ifrontend/parrot -Isrc/ -o frontend/parrot/main.o -c
frontend/parrot/main.c
/usr/bin/perl tools/build/parrot_config_c.pl --mini > \
src/null_config.c
/usr/bin/perl -MExtUtils::Command -e touch compilers/imcc/imcc.y.flag
compilers/imcc/imcparser.c compilers/imcc/imcparser.h
./miniparrot -Iruntime/parrot/include -o frontend/parrot2/prt0.pbc
frontend/parrot2/prt0.pir
make: ./miniparrot: Command not found
/usr/bin/perl tools/build/h2inc.pl include/parrot/cclass.h
runtime/parrot/include/cclass.pasm
make: *** [frontend/parrot2/prt0.pbc] Error 127
Broken since:
commit ba6af98a4b864c6b5f306a3ee244e28c0e770414
Merge: 52063c3 21b8758
Author: jkeenan <jke...@cpan.org>
Date: Fri Mar 23 20:27:34 2012 -0400
Merge branch 'kid51/makefile_variables'
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
Thanks for reporting this, but the build works for me on linux x64 with
both gcc and g++. Which platform are you on?
Christoph
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
>> ./miniparrot -Iruntime/parrot/include -o frontend/parrot2/prt0.pbc
>> frontend/parrot2/prt0.pir
>> make: ./miniparrot: Command not found
>> /usr/bin/perl tools/build/h2inc.pl include/parrot/cclass.h
>> runtime/parrot/include/cclass.pasm
>> make: *** [frontend/parrot2/prt0.pbc] Error 127
>>
>> Broken since:
>> commit ba6af98a4b864c6b5f306a3ee244e28c0e770414
>> Merge: 52063c3 21b8758
>> Author: jkeenan<jke...@cpan.org>
>> Date: Fri Mar 23 20:27:34 2012 -0400
>>
>> Merge branch 'kid51/makefile_variables'
>
>
> Thanks for reporting this, but the build works for me on linux x64 with
> both gcc and g++. Which platform are you on?
>
I tested this on both Linux/i386 and Darwin/ppc before merging.
Experienced no problems with either build or test.
jimk
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
openSUSE 12.1 using GNU Make 3.82 and gcc (SUSE Linux) 4.6.2
> I tested this on both Linux/i386 and Darwin/ppc before merging.
> Experienced no problems with either build or test.
Have you tried it with a parallel build?
Seems like it works with plain make but fails with make -j6. So I guess there
are some dependencies missing leading make to execute some steps prematurely.
Stefan
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
I just fixed this in d1142ed .
The problem was that Jim accidentally removed a dependency on
miniparrot for pr0.pbc . This only broke the build when using -jX
where X > 1.
Duke
--
Jonathan "Duke" Leto <jona...@leto.net>
Leto Labs LLC
209.691.DUKE // http://labs.leto.net
NOTE: Personal email is only checked twice a day at 10am/2pm PST,
please call/text for time-sensitive matters.
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
Duke, thanks for catching and fixing this.
There are some ironies in this. First, it was only when I recently read
the draft version of nine's thesis that I became aware of how much of a
change the advent of multicore machines has meant since the middle of
the last decade. So it was only recently that I decided to see whether
'make -j4' would work on my Linode. When it did not, I assumed it was
the machine's fault rather than the fault of my revisions to
config/gen/makefiles/root.in. So, during testing, I simply omitted the
'-j4' and everything worked fine.
Second, you may recall that in makefiles hard-tabs are significant. It
often seems, however, that one can get away with leading wordspaces
where a leading hard-tab is what is "officially" required. I know that
in past cleanups of the makefile templates I have substituted leading
hard-tabs for leading wordspaces with no change in functionality. Here,
however, we have a case where the leading hard-tab is crucial. Why?
Because in the two code segments in the question the first line in the
template file ends with '$(MINIPARROT)' while the second begins with
'[hard-tab]$(MINIPARROT)'. If one is not paying attention to the
hard-tab, one can come to the *incorrect* conclusion that the second
'$(MINIPARROT)' is redundant and can be removed -- which is what I did,
and which is what worked until nine tested with '-j6'.
Implication: We should add something to the documentation for
config/gen/makefiles/root.in (and perhaps other files) to alert people
to this possible source of error. I will do that now.
Thank you very much.
Jim Keenan
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev
Implication: We should add something to the documentation for config/gen/makefiles/root.in (and perhaps other files) to alert people to this possible source of error. I will do that now.