On Tue, 13 Nov 2007, James Keenan via RT wrote:
> Could you supply the output of perl -V for the system where you are
> encountering these problems?
This was a perl compiled with Sun's cc.
$ perl5.8 -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris
uname='sunos XXXXXX 5.8 XXXXXX sun4u sparc sunw,ultra-5_10 '
config_args='-Doptimize=-fast -xdepend -Dprefix=/opt/perl -Dcc=cc -de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-fast -xdepend',
cppflags='-I/usr/local/include'
ccversion='WorkShop Compilers 4.2 30 Oct 1996 C 4.2', gccversion='',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/SC4.2/lib
-L/usr/local/lib '
libpth=/usr/lib /usr/ccs/lib /opt/SUNWspro/SC4.2/lib /usr/local/lib
libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-KPIC', lddlflags='-G -L/usr/lib -L/usr/ccs/lib
-L/opt/SUNWspro/SC4.2/lib -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
Built under solaris
Compiled at Feb 2 2006 08:42:07
@INC:
/opt/perl/lib/5.8.8/sun4-solaris
/opt/perl/lib/5.8.8
/opt/perl/lib/site_perl/5.8.8/sun4-solaris
/opt/perl/lib/site_perl/5.8.8
/opt/perl/lib/site_perl/5.8.7/sun4-solaris
/opt/perl/lib/site_perl/5.8.7
/opt/perl/lib/site_perl/5.8.6/sun4-solaris
/opt/perl/lib/site_perl/5.8.6
/opt/perl/lib/site_perl/5.8.5/sun4-solaris
/opt/perl/lib/site_perl/5.8.5
/opt/perl/lib/site_perl/5.8.4/sun4-solaris
/opt/perl/lib/site_perl/5.8.4
/opt/perl/lib/site_perl/5.8.3/sun4-solaris
/opt/perl/lib/site_perl/5.8.3
/opt/perl/lib/site_perl/5.8.2/sun4-solaris
/opt/perl/lib/site_perl/5.8.2
/opt/perl/lib/site_perl
.
I was trying to build parrot with gcc.
$ cat myconfig
Summary of my parrot 0.4.17 (r0) configuration:
configdate='Wed Nov 14 14:44:25 2007 GMT'
Platform:
osname=solaris, archname=sun4-solaris
jitcapable=0, jitarchname=nojit,
jitosname=solaris, jitcpuarch=sun4
execcapable=0
perl=perl5.8
Compiler:
cc='gcc', ccflags='-I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED
-DHASATTRIBUTE_FORMAT -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -DDISABLE_GC_DEBUG=1 -DNDEBUG -O4
-fstrict-aliasing -funroll-loops -mno-unaligned-doubles -Wcast-align',
Linker and Libraries:
ld='gcc', ldflags=' -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/SC4.2/lib
-L/usr/local/lib ',
cc_ldflags='',
libs='-lsocket -lnsl -ldl -lm -lpthread -lrt'
Dynamic Linking:
share_ext='.so', ld_share_flags='-G -L/usr/lib -L/usr/ccs/lib
-L/opt/SUNWspro/SC4.2/lib -L/usr/local/lib',
load_ext='.so', ld_load_flags='-G -L/usr/lib -L/usr/ccs/lib
-L/opt/SUNWspro/SC4.2/lib -L/usr/local/lib'
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=4 byteorder=4321,
nv=double, numvalsize=8, doublesize=8
> Also it would be good to have the output of prove -v for each of the
> failing t/configure/*.t tests.
I've attached them, though they actually aren't very informative by
themselves. However, I have already diagnosed the problem in my previous
messages -- the values getting loaded by init::defaults are not suitable
for compilation. While running parrot's Configure.pl, I fixed them, but
the correct values I gave to Configure.pl are being ignored.
You can easily recreate this situation for yourself. Build and install a
private copy of perl. Then hand-edit Config.pm and Config_heavy.pl in
your new perl's architecture-dependent library. Change some entries to
invalid ones. For example, you might change 'cc' to 'qcc' to mimic a case
where you have different compiler installed than the system vendor used.
Or you might change the libs directive to include -lbogus, simulating the
case where the vendor had a particular library installed, but you don't.
Then use your new perl to build parrot. Supply the correct cc, ccflags,
and libs arguments to Configure.pl. Parrot should build as well as it
normally does. However, the tests that assume that init::defaults is
correct may now fail.
--
Andy Dougherty [EMAIL PROTECTED]
t/configure/107-inter_progs-01....ok 1 - use config::init::defaults;
ok 2 - use config::init::install;
ok 3 - use config::init::hints;
ok 4 - use config::inter::progs;
ok 5 - init::defaults constructor returned defined value
ok 6 - The object isa init::defaults
ok 7 - init::defaults has description
ok 8 - init::defaults runstep() returned defined value
ok 9 - init::install constructor returned defined value
ok 10 - The object isa init::install
ok 11 - init::install has description
ok 12 - init::install runstep() returned defined value
ok 13 - init::hints constructor returned defined value
ok 14 - The object isa init::hints
ok 15 - init::hints has description
ok 16 - init::hints runstep() returned defined value
ok 17 - inter::progs constructor returned defined value
ok 18 - The object isa inter::progs
ok 19 - inter::progs has description
ok 20 - Tie::Filehandle::Preempt::Stdin->can('READLINE')
ok 21 - The object isa Tie::Filehandle::Preempt::Stdin
C compiler failed (see test.cco) at config/init/hints/solaris.pm line 39
init::hints::solaris::__ANON__('cc', 'cc') called at
lib/Parrot/Configure/Data.pm line 120
Parrot::Configure::Data::set('Parrot::Configure::Data=HASH(0x2da998)')
called at config/inter/progs.pm line 63
inter::progs::runstep('inter::progs=HASH(0x1c4f54)',
'Parrot::Configure=HASH(0x2da9d4)') called at t/configure/107-inter_progs-01.t
line 84
1..21
# Looks like your test died just after 21.
dubious
Test returned status 255 (wstat 65280, 0xff00)
after all the subtests completed successfully
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/configure/107-inter_progs-01.t 255 65280 21 0 0.00% ??
Failed 1/1 test scripts, 0.00% okay. 0/21 subtests failed, 100.00% okay.
t/configure/111-auto_gcc-01....1..17
ok 1 - use config::init::defaults;
ok 2 - use config::inter::progs;
ok 3 - use config::auto::gcc;
ok 4 - init::defaults constructor returned defined value
ok 5 - The object isa init::defaults
ok 6 - init::defaults has description
ok 7 - init::defaults runstep() returned defined value
ok 8 - inter::progs constructor returned defined value
ok 9 - The object isa inter::progs
ok 10 - inter::progs has description
Compilation failed with 'cc'
# Looks like you planned 17 tests but only ran 10.
dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 11-17
Failed 7/17 tests, 58.82% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/configure/111-auto_gcc-01.t 255 65280 17 14 82.35% 11-17
Failed 1/1 test scripts, 0.00% okay. 7/17 subtests failed, 58.82% okay.
t/configure/115-auto_warnings....1..4
ok 1 - use Parrot::Configure;
ok 2 - use Parrot::Configure::Step;
ok 3 - use config::auto::warnings;
not ok 4 - Got expected exit code of 1
# Failed test 'Got expected exit code of 1'
# in t/configure/115-auto_warnings.t at line 37.
# got: '0'
# expected: '1'
# Looks like you failed 1 test of 4.
dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 4
Failed 1/4 tests, 75.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/configure/115-auto_warnings.t 1 256 4 1 25.00% 4
Failed 1/1 test scripts, 0.00% okay. 1/4 subtests failed, 75.00% okay.
t/configure/124-auto_alignptrs-05....ok 1 - use config::init::defaults;
ok 2 - use config::auto::alignptrs;
ok 3 - init::defaults constructor returned defined value
ok 4 - The object isa init::defaults
ok 5 - init::defaults has description
ok 6 - init::defaults runstep() returned defined value
ok 7 - auto::alignptrs constructor returned defined value
ok 8 - The object isa auto::alignptrs
ok 9 - auto::alignptrs has description
not ok 10 - Got expected error message when runstep() failed
# Failed test 'Got expected error message when runstep() failed'
# in t/configure/124-auto_alignptrs-05.t at line 49.
# 'C compiler failed (see test.cco) at
lib/Parrot/Configure/Step.pm line 519
# Parrot::Configure::Step::cc_build() called at config/auto/alignptrs.pm
line 59
# auto::alignptrs::runstep('auto::alignptrs=HASH(0x3b8740)',
'Parrot::Configure=HASH(0x2dc138)') called at
t/configure/124-auto_alignptrs-05.t line 47
# eval {...} called at t/configure/124-auto_alignptrs-05.t line 47
# '
# doesn't match '(?-xism:Can't determine alignment)'
ok 11 - Completed all tests in t/configure/124-auto_alignptrs-05.t
1..11
# Looks like you failed 1 test of 11.
dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 10
Failed 1/11 tests, 90.91% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/configure/124-auto_alignptrs-05 1 256 11 1 9.09% 10
Failed 1/1 test scripts, 0.00% okay. 1/11 subtests failed, 90.91% okay.
t/configure/146-auto_snprintf-01....ok 1 - use config::init::defaults;
ok 2 - use config::auto::snprintf;
ok 3 - init::defaults constructor returned defined value
ok 4 - The object isa init::defaults
ok 5 - init::defaults has description
ok 6 - init::defaults runstep() returned defined value
ok 7 - auto::snprintf constructor returned defined value
ok 8 - The object isa auto::snprintf
ok 9 - auto::snprintf has description
C compiler failed (see test.cco) at lib/Parrot/Configure/Step.pm line 519
Parrot::Configure::Step::cc_build() called at config/auto/snprintf.pm
line 45
auto::snprintf::_probe_for_snprintf() called at config/auto/snprintf.pm
line 36
auto::snprintf::runstep('auto::snprintf=HASH(0x3b7f40)',
'Parrot::Configure=HASH(0x2dbfe8)') called at
t/configure/146-auto_snprintf-01.t line 40
1..9
# Looks like your test died just after 9.
dubious
Test returned status 255 (wstat 65280, 0xff00)
after all the subtests completed successfully
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/configure/146-auto_snprintf-01. 255 65280 9 0 0.00% ??
Failed 1/1 test scripts, 0.00% okay. 0/9 subtests failed, 100.00% okay.