Skip Menu |

This queue is for tickets about the version CPAN distribution.

Report information
The Basics
Id: 55724
Status: rejected
Priority: 0/
Queue: version

People
Owner: Nobody in particular
Requestors: zefram [...] fysh.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: version.pm compile errors on 5.11.1+
Date: Sat, 20 Mar 2010 00:36:00 +0000
To: bug-version [...] rt.cpan.org
From: Zefram <zefram [...] fysh.org>
On perl 5.11.1 or later, version.pm 0.80 (the latest on CPAN) fails to compile. There are several errors. Here is the result on perl 5.11.5: $ perl Build.PL Creating new 'MYMETA.yml' with configuration results Creating new 'Build' script for 'version' version '0.80' $ ./Build Building version cc -I./vutil -I/home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o ./vutil/vutil.o ./vutil/vutil.c In file included from ./vutil/vutil.c:8: ./vutil/ppport.h:7094: error: static declaration of 'Perl_ck_warner' follows non-static declaration /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/proto.h:3841: error: previous declaration of 'Perl_ck_warner' was here In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:37: error: conflicting types for 'Perl_prescan_version' /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/proto.h:2393: error: previous declaration of 'Perl_prescan_version' was here In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:39:1: warning: "prescan_version" redefined In file included from /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/perl.h:954, from ./vutil/vutil.c:2: /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/embed.h:3051:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:43:1: warning: "PERL_ARGS_ASSERT_PRESCAN_VERSION" redefined In file included from /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/perl.h:4946, from ./vutil/vutil.c:2: /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/proto.h:2395:1: warning: this is the location of the previous definition ./vutil/vutil.c:14: error: conflicting types for 'Perl_prescan_version' /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/5.11.5/i386-linux-thread-multi/CORE/proto.h:2393: error: previous declaration of 'Perl_prescan_version' was here error building ./vutil/vutil.o from './vutil/vutil.c' at /home/zefram/usr/perl/perl_install/perl-5.11.5-i32-f52/lib/site_perl/5.11.5/ExtUtils/CBuilder/Base.pm line 115. $ -zefram
From: dabbott [...] gentoo.org
Same here for 5.12_rc2 Building version x86_64-pc-linux-gnu-gcc -I./vutil -I/usr/lib64/perl5/5.12.0/x86_64-linux/CORE -fPIC -c -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=native -O2 -pipe -o ./vutil/vutil.o ./vutil/vutil.c In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:28:1: warning: "vverify" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:954, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/embed.h:649:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:29:1: warning: "vnumify" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:954, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/embed.h:650:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:30:1: warning: "vnormal" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:954, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/embed.h:651:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:32:1: warning: "vcmp" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:954, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/embed.h:653:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:39:1: warning: "prescan_version" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:954, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/embed.h:646:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/vutil.h:43:1: warning: "PERL_ARGS_ASSERT_PRESCAN_VERSION" redefined In file included from /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/perl.h:4946, from ./vutil/vutil.c:2: /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/proto.h:2395:1: warning: this is the location of the previous definition In file included from ./vutil/vutil.c:9: ./vutil/ppport.h:7094: error: static declaration of 'Perl_ck_warner' follows non-static declaration /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/proto.h:3841: error: previous declaration of 'Perl_ck_warner' was here In file included from ./vutil/vutil.c:10: ./vutil/vutil.h:37: error: conflicting types for 'Perl_prescan_version' /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/proto.h:2393: error: previous declaration of 'Perl_prescan_version' was here ./vutil/vutil.c:14: error: conflicting types for 'Perl_prescan_version' /usr/lib64/perl5/5.12.0/x86_64-linux/CORE/proto.h:2393: error: previous declaration of 'Perl_prescan_version' was here error building ./vutil/vutil.o from './vutil/vutil.c' at /usr/lib64/perl5/vendor_perl/5.12.0/ExtUtils/CBuilder/Base.pm line 115. * ERROR: perl-core/version-0.80 failed: Gentoo Bug report http://bugs.gentoo.org/show_bug.cgi?id=312991 -david
The CPAN release over version.pm is not designed to be compilable by any newer version of Perl than what it was originally released for; there are specific #ifdef's that must be adjusted for each new Perl release. Once 5.12.0 is formerly released, I will post a CPAN release that a) matches the code in 5.12.0 precisely, and b) contains the correct #ifdef definitions to compile on all released Perl's.