Yeah, I caused this.
Patch Applied

Kevin

Karl Forner wrote:
Hi,

Just checked out parrot and the build failed like this:
cc -o miniparrot -L/usr/local/lib -Wl,-E   compilers/imcc/main.o \
-Wl,-rpath=/home/kforner/dev/parrot/test/parrot/blib/lib -L/home/kforner/dev/parrot/test/parrot/blib/lib -lparrot -ldl -lm -lpthread -lcrypt -lrt src/null_config.o compilers/imcc/main.o: In function `imcc_version':compilers/imcc/main.c:124: undefined reference to `Parrot_revision' :compilers/imcc/main.c:128: undefined reference to `Parrot_config_revision'
collect2: ld returned 1 exit status
make: *** [miniparrot] Error 1

After a little investigation, it appears that the revision_c.pl failed during the build process (see below) but its output is hidden in the make output because
the make process DOES NOT STOP, and a void revision.c file is produced.

The problem for the revision_c.pl is just a missing 'use File::Spec', see the attached patch.


src/extend_vtable.c
/usr/bin/perl -Ilib tools/build/revision_c.pl > src/revision.c
Can't locate object method "devnull" via package "File::Spec" at lib/Parrot/Revision.pm line 35.
Compilation failed in require at tools/build/revision_c.pl line 25.
BEGIN failed--compilation aborted at tools/build/revision_c.pl line 25.
make: *** [src/revision.c] Error 255
Compiling with:
xx.c
cc -I./include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Waggregate-return -Winline -Wno-unused -Wsign-compare -falign-functions=16 -Wformat-nonliteral -Wformat-security -Wpacked -Wdisabled-optimization -mno-accumulate-outgoing-args -Wno-shadow -DHAS_JIT -DI386 -DHAVE_COMPUTED_GOTO -fPIC -I. -o xx.o -c xx.c
src/revision.c
src/packfile/pf_items.c
src/stm/backend.c
src/stm/waitlist.c
src/resources.c
src/charset/ascii.c


So the make process failed with an error 255, but it seems to continue with the compilation, or maybe it is another make process ???????

Karl
------------------------------------------------------------------------

Index: lib/Parrot/Revision.pm
===================================================================
--- lib/Parrot/Revision.pm      (revision 14971)
+++ lib/Parrot/Revision.pm      (working copy)
@@ -22,8 +22,8 @@
use strict;
 use warnings;
+use File::Spec;
-
 our $svn_entries = undef;
sub __get_revision {

Reply via email to