Closed p5pRT closed 10 years ago
[Originally filed on p5p newsgroup; transferring to RT]
I successfully built and tested Perl 5.20.0 on Darwin/PPC when it was released two months ago. I built and tested blead today for the first time since then. I was surprised to get a test failure in t/porting/libperl.c.
When I re-directed the test's STDOUT and STDERR to a file\, I got a tremendous amount of "# Unexpected nm output" lines. For the full output\, see the tarball attached.
Here is the short version of the output. ##### $ cd t;./perl harness -v porting/libperl.t ; cd -# Failed test 2 - has text Perl_peep at porting/libperl.t line 196 # Failed test 3 - has text Perl_pp_uc in pp.o at porting/libperl.t line 197 # Failed test 4 - has data const symbols at porting/libperl.t line 198 # Failed test 5 - has PL_no_mem at porting/libperl.t line 199 # Failed test 6 - has PL_hash_seed at porting/libperl.t line 325 # Failed test 7 - has PL_ppaddr at porting/libperl.t line 326
ok 1 - has object pp.o not ok 2 - has text Perl_peep not ok 3 - has text Perl_pp_uc in pp.o not ok 4 - has data const symbols not ok 5 - has PL_no_mem not ok 6 - has PL_hash_seed not ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars Failed 6/10 subtests
Test Summary Report
porting/libperl.t (Wstat: 0 Tests: 10 Failed: 6) Failed tests: 2-7 Files=1\, Tests=10\, 3 wallclock secs ( 1.87 usr 0.12 sys + 0.22 cusr 0.07 csys = 2.28 CPU) Result: FAIL /Users/jimk/gitwork/perl #####
I am not getting this failure on Linux x86_64. I have not yet tried this on Darwin x86_64.
Has anything happened lately that would have an impact on this?
Thank you very much. Jim Keenan
P.S.: See attachment for 'perl -V' for the machine that had the failure.
Summary of my perl5 (revision 5 version 21 subversion 2) configuration: Commit id: a7fa5053628a560ab7de68cb98a8894c82546246 Platform: osname=darwin\, osvers=8.11.0\, archname=darwin-2level uname='darwin macintosh-9.local 8.11.0 darwin kernel version 8.11.0: wed oct 10 18:26:00 pdt 2007; root:xnu-792.24.17~1release_ppc power macintosh powerpc ' config_args='-des -Dusedevel' hint=recommended\, useposix=true\, d_sigaction=define useithreads=undef\, usemultiplicity=undef use64bitint=undef\, use64bitall=undef\, uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler: cc='cc'\, ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include -D_FORTIFY_SOURCE=2'\, optimize='-O3'\, cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include' ccversion=''\, gccversion='4.0.1 (Apple Computer\, Inc. build 5250)'\, 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='env MACOSX_DEPLOYMENT_TARGET=10.3 cc'\, ldflags =' -L/usr/local/lib -L/opt/local/lib' libpth=/usr/local/lib /usr/lib /opt/local/lib libs=-ldbm -ldl -lm -lc perllibs=-ldl -lm -lc libc=\, so=dylib\, useshrplib=false\, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=bundle\, d_dlsymun=undef\, ccdlflags=' ' cccdlflags=' '\, lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under darwin Compiled at Jul 9 2014 19:34:04 %ENV: PERLBREW_BASHRC_VERSION="0.59" PERLBREW_HOME="/Users/jimk/.perlbrew" PERLBREW_MANPATH="" PERLBREW_PATH="/Users/jimk/perl5/perlbrew/bin" PERLBREW_ROOT="/Users/jimk/perl5/perlbrew" PERLBREW_VERSION="0.59" PERL_WORKDIR="gitwork/perl" @INC: lib /usr/local/lib/perl5/site_perl/5.21.2/darwin-2level /usr/local/lib/perl5/site_perl/5.21.2 /usr/local/lib/perl5/5.21.2/darwin-2level /usr/local/lib/perl5/5.21.2 /usr/local/lib/perl5/site_perl .
On Thu Jul 10 16:24:33 2014\, jkeenan wrote:
[Originally filed on p5p newsgroup; transferring to RT]
I successfully built and tested Perl 5.20.0 on Darwin/PPC when it was released two months ago. I built and tested blead today for the first time since then. I was surprised to get a test failure in t/porting/libperl.c.
[snip]
Has anything happened lately that would have an impact on this?
#####
commit d92f47ae2e102edeaf8813a465c2e7a3886dc269 Author: Jarkko Hietaniemi \jhi@​iki\.fi AuthorDate: Mon Jun 23 20:11:50 2014 Commit: Jarkko Hietaniemi \jhi@​iki\.fi CommitDate: Wed Jun 25 12:43:01 2014
Add t/porting/libperl.t
For sanity checking libperl.a on those platforms that have one\,
and extra checking for the rare configurations of -DPERL_GLOBAL_STRUCT
and -DPERL_GLOBAL_STRUCT_PRIVATE which restructure the symbol exports.
#####
So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.
Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.
Not that that should prevent anyone else from looking at this problem!
Thank you very much. Jim Keenan
The RT System itself - Status changed from 'new' to 'open'
On Thu Jul 10 17:43:43 2014\, jkeenan wrote:
On Thu Jul 10 16:24:33 2014\, jkeenan wrote: [snip]
So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.
Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.
Not that that should prevent anyone else from looking at this problem!
This failure probably has an OS aspect and a platform aspect. Attached please find two files with the output of t/porting/libperl.t on Darwin x86_64. The file has failures on x86_64\, albeit fewer than on the older PPC.
Thank you very much. Jim Keenan
# Failed test 5 - has PL_no_mem at porting/libperl.t line 199 porting/libperl.t .. # libperl = ../libperl.a # nm = /usr/bin/nm # nm_style = darwin # nm_opt = -m ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols not ok 5 - has PL_no_mem # GS = 0 # GSP = 0 # neither -DPERL_GLOBAL_STRUCT nor -DPERL_GLOBAL_STRUCT_PRIVATE ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars # darwin ignoring /usr/bin/nm output: /usr/bin/nm: no name list 1..10 Failed 1/10 subtests
Test Summary Report
porting/libperl.t (Wstat: 0 Tests: 10 Failed: 1) Failed test: 5 Files=1\, Tests=10\, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.06 cusr 0.01 csys = 0.08 CPU) Result: FAIL
$ cd t; ./perl harness -v porting/libperl.t; cd - # Failed test 5 - has PL_no_mem at porting/libperl.t line 199
ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols not ok 5 - has PL_no_mem ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars Failed 1/10 subtests
Test Summary Report
porting/libperl.t (Wstat: 0 Tests: 10 Failed: 1) Failed test: 5 Files=1\, Tests=10\, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.08 cusr 0.01 csys = 0.11 CPU) Result: FAIL /Users/jkeenan/gitwork/perl
$ ./perl -Ilib -V Summary of my perl5 (revision 5 version 21 subversion 2) configuration: Commit id: 98b630b35f6ee9b6c20fb18e6a8fc1a0363a233c Platform: osname=darwin\, osvers=11.4.2\, archname=darwin-2level uname='darwin 11.4.2 darwin kernel version 11.4.2: thu aug 23 16:25:48 pdt 2012; root:xnu-1699.32.7~1release_x86_64 x86_64 ' config_args='-des -Dusedevel' hint=recommended\, useposix=true\, d_sigaction=define useithreads=undef\, usemultiplicity=undef use64bitint=define\, use64bitall=define\, uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler: cc='cc'\, ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'\, optimize='-O3'\, cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion=''\, gccversion='4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)'\, gccosandvers='' intsize=4\, longsize=8\, ptrsize=8\, doublesize=8\, byteorder=12345678 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc'\, ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-ldbm -ldl -lm -lutil -lc perllibs=-ldl -lm -lutil -lc libc=\, so=dylib\, useshrplib=false\, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=bundle\, d_dlsymun=undef\, ccdlflags=' ' cccdlflags=' '\, lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under darwin Compiled at Jul 10 2014 16:45:21 %ENV: PERL5DIR="/Users/jkeenan/gitwork/perl" PERLBREW_BASHRC_VERSION="0.46" PERLBREW_HOME="/Users/jkeenan/.perlbrew" PERLBREW_MANPATH="/Users/jkeenan/perl5/perlbrew/perls/perl-5.16.2/man" PERLBREW_PATH="/Users/jkeenan/perl5/perlbrew/bin:/Users/jkeenan/perl5/perlbrew/perls/perl-5.16.2/bin" PERLBREW_PERL="perl-5.16.2" PERLBREW_ROOT="/Users/jkeenan/perl5/perlbrew" PERLBREW_VERSION="0.46" PERL_WORKDIR="gitwork/perl" @INC: lib /usr/local/lib/perl5/site_perl/5.21.2/darwin-2level /usr/local/lib/perl5/site_perl/5.21.2 /usr/local/lib/perl5/5.21.2/darwin-2level /usr/local/lib/perl5/5.21.2 .
Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.
-- rjbs
On Sat\, Jul 12\, 2014 at 02:23:36PM -0700\, Ricardo SIGNES via RT wrote:
Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.
s/skipped/TODO/\, for greater visibility?
* Karen Etheridge \perl@​froods\.org [2014-07-12T17:28:02]
On Sat\, Jul 12\, 2014 at 02:23:36PM -0700\, Ricardo SIGNES via RT wrote:
Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.
s/skipped/TODO/\, for greater visibility?
On most platforms\, that would show up as "unexpected TODO pass\," which is the wrong kind of visibility. If the TODO is platform-specific\, I'm not sure this is really going to add any kind of visibility\, is it?
-- rjbs
On Sat Jul 12 14:23:35 2014\, rjbs wrote:
Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.
commit ed0e322ca1d56fd4f31e1f778f65732f9e1e7dbb Author: James E Keenan \jkeenan@​cpan\.org Date: Sat Jul 12 22:16:23 2014 -0400
skip_all on darwin until nm peculiarities can be straighted out.
Assigning to jhi.
On Fri\, 11 Jul 2014\, James E Keenan via RT wrote:
On Thu Jul 10 17:43:43 2014\, jkeenan wrote:
On Thu Jul 10 16:24:33 2014\, jkeenan wrote: [snip]
So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.
Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.
Not that that should prevent anyone else from looking at this problem!
This failure probably has an OS aspect and a platform aspect. Attached please find two files with the output of t/porting/libperl.t on Darwin x86_64. The file has failures on x86_64\, albeit fewer than on the older PPC.
Curiously it doesn't fail for me on Mavericks with Intel:
Darwin localhost 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
$ ./perl -I lib t/porting/libperl.t # libperl = ../libperl.a # nm = /usr/bin/nm # nm_style = darwin # nm_opt = -m ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols ok 5 - has PL_no_mem # GS = 0 # GSP = 0 # neither -DPERL_GLOBAL_STRUCT nor -DPERL_GLOBAL_STRUCT_PRIVATE ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars
Looks like your PPC is 10.4 Tiger and your x86_64 is 10.7 Lion?
What's your "/usr/bin/nm -m ../libperl.a" output? Mine (that passes tests) is attached.
-- George Greer
On Sat Jul 12 19:25:59 2014\, jkeenan wrote:
On Sat Jul 12 14:23:35 2014\, rjbs wrote:
Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.
commit ed0e322ca1d56fd4f31e1f778f65732f9e1e7dbb Author: James E Keenan \jkeenan@​cpan\.org Date: Sat Jul 12 22:16:23 2014 -0400
skip_all on darwin until nm peculiarities can be straighted out.
Assigning to jhi.
jhi put in a lot of time on this. I can now report that t/porting/libperl.t now PASSes on Darwin/PPC on blead:
#####
[perl] 513 $ ./perl -v |head -2 | tail -1
This is perl 5\, version 21\, subversion 2 (v5.21.2 (v5.21.1-191-g41a81de)) built for darwin-2level
[perl] 514 $ cd t;./perl harness porting/libperl.t; cd -
porting/libperl.t .. ok
All tests successful.
Files=1\, Tests=31\, 0 wallclock secs ( 0.07 usr 0.02 sys + 0.31 cusr 0.06 csys = 0.46 CPU)
Result: PASS
#####
There's probably nothing more to be done on this ticket. I'll double check on my Darwin/x86_64 machine on Monday\, then close the ticket if there are no further problems.
Thank you very much. Jim Keenan
On Sat Jul 19 19:35:58 2014\, jkeenan wrote:
There's probably nothing more to be done on this ticket. I'll double check on my Darwin/x86_64 machine on Monday\, then close the ticket if there are no further problems.
t/porting/libperl.t PASS on Darwin/x86_64 (Mac OS X 10.6 or so) today.
Marking ticket resolved.
Thank you very much. Jim Keenan
@jkeenan - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#122267 (status was 'resolved')
Searchable as RT122267$