#1392: build parrot failed on CentOS 4.5
-------------------+--------------------------------------------------------
Reporter: flw | Type: bug
Status: new | Priority: normal
Milestone: | Component: configure
Version: 1.9.0 | Severity: medium
Keywords: | Lang:
Patch: | Platform:
-------------------+--------------------------------------------------------
Description changed by jimmy:
Old description:
> Summary: build parrot failed on CentOS 4.5
> Reported by: [email protected]
> ---
> error message:
>
> /usr/bin/perl tools/build/parrot_config_c.pl --mini > \
> src/null_config.c
> src/null_config.c
> gcc -o miniparrot src/main.o src/null_config.o \
> -Wl,-rpath=/home/flw/soft/rakudo-rakudo-8dc1895/parrot/blib/lib
> -L/home/flw/soft/rakudo-rakudo-8dc1895/parrot/blib/lib -lparrot -lresolv
> -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp -lreadline -lncurses
> -L/usr/local/lib -Wl,-E
> src/main.o(.text+0x46): In function `main':
> src/main.c:51: undefined reference to `Parrot_new'
> src/main.o(.text+0x50):src/main.c:52: undefined reference to
> `imcc_initialize'
> src/main.o(.text+0x69):src/main.c:57: undefined reference to
> `Parrot_str_new'
> src/main.o(.text+0x75):src/main.c:57: undefined reference to
> `Parrot_set_executable_name'
> src/main.o(.text+0x8b):src/main.c:59: undefined reference to `parseflags'
> src/main.o(.text+0xa5):src/main.c:60: undefined reference to `imcc_run'
> src/main.o(.text+0xad):src/main.c:64: undefined reference to
> `Parrot_destroy'
> src/main.o(.text+0xbd):src/main.c:65: undefined reference to
> `Parrot_exit'
> src/null_config.o(.text+0x24): In function `Parrot_set_config_hash':
> src/null_config.c:29: undefined reference to
> `Parrot_set_config_hash_internal'
> collect2: ld returned 1 exit status
> gmake: *** [miniparrot] error 1
> Command failed (status 512): gmake install-dev
> ===SORRY!===
> Unable to locate parrot_config
>
> To automatically checkout (svn) and build a copy of parrot r43076,
> try re-running Configure.pl with the '--gen-parrot' option.
> Or, use the '--parrot-config' option to explicitly specify
> the location of parrot_config to be used to build Rakudo Perl.
>
>
> I can fix it on my machine via following changes:
>
> $ LANG=C svn info
> Path: .
> URL: https://svn.parrot.org/parrot/trunk
> Repository UUID: d31e2699-5ff4-0310-a27c-f18f2fbe73fe
> Revision: 43076
> Node Kind: directory
> Schedule: normal
> Last Changed Author: barney
> Last Changed Rev: 43075
> Last Changed Date: 2009-12-16 03:24:30 +0800 (Wed, 16 Dec 2009)
> Properties Last Updated: 2009-12-24 11:01:48 +0800 (Thu, 24 Dec 2009)
>
> $ LANG=C svn diff
> Index: config/auto/warnings.pm
> ===================================================================
> --- config/auto/warnings.pm (revision 43076)
> +++ config/auto/warnings.pm (working copy)
> @@ -38,7 +38,6 @@
> # sorted as "-Wfoo", so we can turn off/on as needed.
> my @potential_warnings = qw(
> -falign-functions=16
> - -fvisibility=hidden
> -funit-at-a-time
> -maccumulate-outgoing-args
> -W
> $
>
>
> ---
> osname= linux
> osvers= 2.6.9-42.elsmp
> arch= i386-linux-thread-multi
> cc= gcc
> ---
> Flags:
> category=install
> severity=medium
> ack=no
> ---
> Summary of my parrot 1.9.0 (r43076) configuration:
> configdate='Thu Dec 24 03:26:11 2009 GMT'
> Platform:
> osname=linux, archname=i386-linux-thread-multi
> jitcapable=0, jitarchname=nojit,
> jitosname=linux, jitcpuarch=i386
> execcapable=0
> perl=/usr/bin/perl
> Compiler:
> cc='gcc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED
> -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN
> -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
> -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -funit-at-a-time
> -maccumulate-outgoing-args -W -Wall -Waggregate-return -Wcast-align
> -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-
> labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-
> security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-
> pch -Wmissing-braces -Wno-missing-format-attribute -Wpacked -Wparentheses
> -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare
> -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
> -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings -Wbad-
> function-cast -Wdeclaration-after-statement -Wimplicit-function-
> declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-
> prototypes -Wnested-externs -Wnonnull -DHAS_GETTEXT',
> Linker and Libraries:
> ld='gcc', ldflags=' -L/usr/local/lib',
> cc_ldflags='',
> libs='-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp
> -lreadline -lncurses '
> Dynamic Linking:
> share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC',
> load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC'
> Types:
> iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
> ptrsize=4, ptr_alignment=1 byteorder=1234,
> nv=double, numvalsize=8, doublesize=8, longdoublesize=12
>
> ---
> Environment:
> HOME =/home/flw
> LANG =zh_CN
> LANGUAGE (unset)
> LD_LIBRARY_PATH (unset)
> LOGDIR (unset)
> PATH
> =/home/flw/bin:.:/usr/local/squid/sbin:/usr/local/squid/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/sbin:/sbin:.
> SHELL =/bin/bash
>
> $ lsb_release -a
> LSB Version:
> :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
> Distributor ID: CentOS
> Description: CentOS release 4.5 (Final)
> Release: 4.5
> Codename: Final
> $ gcc -v
> Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-
> libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
> Thread model: posix
> gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)
> $
New description:
{{{
Summary: build parrot failed on CentOS 4.5
Reported by: [email protected]
---
error message:
/usr/bin/perl tools/build/parrot_config_c.pl --mini > \
src/null_config.c
src/null_config.c
gcc -o miniparrot src/main.o src/null_config.o \
-Wl,-rpath=/home/flw/soft/rakudo-rakudo-8dc1895/parrot/blib/lib
-L/home/flw/soft/rakudo-rakudo-8dc1895/parrot/blib/lib -lparrot -lresolv
-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp -lreadline -lncurses
-L/usr/local/lib -Wl,-E
src/main.o(.text+0x46): In function `main':
src/main.c:51: undefined reference to `Parrot_new'
src/main.o(.text+0x50):src/main.c:52: undefined reference to
`imcc_initialize'
src/main.o(.text+0x69):src/main.c:57: undefined reference to
`Parrot_str_new'
src/main.o(.text+0x75):src/main.c:57: undefined reference to
`Parrot_set_executable_name'
src/main.o(.text+0x8b):src/main.c:59: undefined reference to `parseflags'
src/main.o(.text+0xa5):src/main.c:60: undefined reference to `imcc_run'
src/main.o(.text+0xad):src/main.c:64: undefined reference to
`Parrot_destroy'
src/main.o(.text+0xbd):src/main.c:65: undefined reference to `Parrot_exit'
src/null_config.o(.text+0x24): In function `Parrot_set_config_hash':
src/null_config.c:29: undefined reference to
`Parrot_set_config_hash_internal'
collect2: ld returned 1 exit status
gmake: *** [miniparrot] error 1
Command failed (status 512): gmake install-dev
===SORRY!===
Unable to locate parrot_config
To automatically checkout (svn) and build a copy of parrot r43076,
try re-running Configure.pl with the '--gen-parrot' option.
Or, use the '--parrot-config' option to explicitly specify
the location of parrot_config to be used to build Rakudo Perl.
I can fix it on my machine via following changes:
$ LANG=C svn info
Path: .
URL: https://svn.parrot.org/parrot/trunk
Repository UUID: d31e2699-5ff4-0310-a27c-f18f2fbe73fe
Revision: 43076
Node Kind: directory
Schedule: normal
Last Changed Author: barney
Last Changed Rev: 43075
Last Changed Date: 2009-12-16 03:24:30 +0800 (Wed, 16 Dec 2009)
Properties Last Updated: 2009-12-24 11:01:48 +0800 (Thu, 24 Dec 2009)
$ LANG=C svn diff
Index: config/auto/warnings.pm
===================================================================
--- config/auto/warnings.pm (revision 43076)
+++ config/auto/warnings.pm (working copy)
@@ -38,7 +38,6 @@
# sorted as "-Wfoo", so we can turn off/on as needed.
my @potential_warnings = qw(
-falign-functions=16
- -fvisibility=hidden
-funit-at-a-time
-maccumulate-outgoing-args
-W
$
---
osname= linux
osvers= 2.6.9-42.elsmp
arch= i386-linux-thread-multi
cc= gcc
---
Flags:
category=install
severity=medium
ack=no
---
Summary of my parrot 1.9.0 (r43076) configuration:
configdate='Thu Dec 24 03:26:11 2009 GMT'
Platform:
osname=linux, archname=i386-linux-thread-multi
jitcapable=0, jitarchname=nojit,
jitosname=linux, jitcpuarch=i386
execcapable=0
perl=/usr/bin/perl
Compiler:
cc='gcc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED
-DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN
-DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -funit-at-a-time
-maccumulate-outgoing-args -W -Wall -Waggregate-return -Wcast-align
-Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-
labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-
security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-
pch -Wmissing-braces -Wno-missing-format-attribute -Wpacked -Wparentheses
-Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings -Wbad-
function-cast -Wdeclaration-after-statement -Wimplicit-function-
declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-
prototypes -Wnested-externs -Wnonnull -DHAS_GETTEXT',
Linker and Libraries:
ld='gcc', ldflags=' -L/usr/local/lib',
cc_ldflags='',
libs='-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp
-lreadline -lncurses '
Dynamic Linking:
share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC',
load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC'
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=1234,
nv=double, numvalsize=8, doublesize=8, longdoublesize=12
---
Environment:
HOME =/home/flw
LANG =zh_CN
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH
=/home/flw/bin:.:/usr/local/squid/sbin:/usr/local/squid/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/sbin:/sbin:.
SHELL =/bin/bash
$ lsb_release -a
LSB Version:
:core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: CentOS
Description: CentOS release 4.5 (Final)
Release: 4.5
Codename: Final
$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit --disable-
libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)
$
}}}
--
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1392#comment:10>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets