Build broken

8 views
Skip to first unread message

Stefan Seifert

unread,
Mar 24, 2012, 12:58:16 PM3/24/12
to parro...@lists.parrot.org
Build is broken on current master

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

Christoph Otto

unread,
Mar 24, 2012, 1:27:04 PM3/24/12
to Stefan Seifert, 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

James E Keenan

unread,
Mar 24, 2012, 4:09:36 PM3/24/12
to parro...@lists.parrot.org
On 3/24/12 1:27 PM, Christoph Otto wrote:
> On Sat, Mar 24, 2012, at 17:58, Stefan Seifert wrote:
>> Build is broken on current master
>>
>> make realclean&& perl Configure.pl&& make
>> results in:

>> ./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

Stefan Seifert

unread,
Mar 24, 2012, 4:22:55 PM3/24/12
to parro...@lists.parrot.org
On Saturday 24 March 2012 16:09:36 James E Keenan wrote:
> On 3/24/12 1:27 PM, Christoph Otto wrote:
> > On Sat, Mar 24, 2012, at 17:58, Stefan Seifert wrote:
> >> Build is broken on current master
> >
> > Thanks for reporting this, but the build works for me on linux x64 with
> > both gcc and g++. Which platform are you on?

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

Jonathan "Duke" Leto

unread,
Mar 25, 2012, 2:22:26 AM3/25/12
to Stefan Seifert, parro...@lists.parrot.org
Howdy,

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

James E Keenan

unread,
Mar 25, 2012, 9:53:12 AM3/25/12
to parro...@lists.parrot.org, Jonathan Leto
On 3/25/12 2:22 AM, Jonathan "Duke" Leto wrote:
> Howdy,
>
> 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, 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

Andy Lester

unread,
Mar 25, 2012, 11:30:22 AM3/25/12
to James E Keenan, Jonathan Leto, parro...@lists.parrot.org

On Mar 25, 2012, at 8:53 AM, James E Keenan wrote:

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.

How about a t/makefile-tabs.t too?

xoa


Reply all
Reply to author
Forward
0 new messages