Skip Menu |

This queue is for tickets about the version CPAN distribution.

Report information
The Basics
Id: 49449
Status: resolved
Priority: 0/
Queue: version

People
Owner: Nobody in particular
Requestors: wil [...] nohakostudios.net
Cc:
AdminCc:

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



Subject: 'object version v1.1.1 does not match bootstrap parameter 1.1.1'
Date: Sun, 6 Sep 2009 01:52:23 +0800
To: bug-version [...] rt.cpan.org
From: Wilhansen Li <wil [...] nohakostudios.net>
Version version: 0.7701 perl -v: This is perl, v5.8.9 built for darwin-2level uname -a: Darwin Yuushi.local 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386 Version might be causing loading problems when modules using XS load version strings without 'v'. For example, DBD::Pg version 2.15.1. It declares its version like this: use version; our $VERSION = qv('2.15.1'); Which causes problems when I load it in Version 0.77 (though it works with the stock Mac Version which is 0.70): DBD::Pg object version v2.15.1 does not match bootstrap parameter 2.15.1 at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/DynaLoader.pm line 253. I searched the web and I got a similar discussion: http://www.mail-archive.com/module-authors@perl.org/msg07418.html I'm guessing it might have something to do with this: http://rt.cpan.org/Public/Bug/Display.html?id=46108 Regards, Wil
Subject: Re: [rt.cpan.org #49449] 'object version v1.1.1 does not match bootstrap parameter 1.1.1'
Date: Sun, 06 Sep 2009 02:22:09 -0400
To: bug-version [...] rt.cpan.org
From: John Peacock <john.peacock [...] havurah-software.org>
On 09/05/2009 01:53 PM, Wilhansen Li via RT wrote: Show quoted text
> Version might be causing loading problems when modules using XS load > version strings without 'v'. For example, DBD::Pg version 2.15.1. It > declares its version like this: > use version; our $VERSION = qv('2.15.1'); >
That's the real problem right there; it should be: use version; our $VERSION = version->new('2.15.1'); The use of qv() is what causes the mismatch; there isn't anything that I can do to fix that (apart from rewriting the documentation, which is what I did)... John
Subject: Fwd: [rt.cpan.org #49449] 'object version v1.1.1 does not match bootstrap parameter 1.1.1'
Date: Mon, 7 Sep 2009 12:54:02 +0800
To: bug-DBD-Pg [...] rt.cpan.org
From: Wilhansen Li <wil [...] nohakostudios.net>
DBD::Pg version: 2.15.1 The installation fails to load on Mac OS X due to problems in versioning. At first I submitted a bugreport to the Version module thinking it was a bug in backwards compatibility. In any case, the maintainer replied (attached below). Alternatively, you can just prefix the version string with a "v". That's what I did and it worked (and, prints out the version string correctly as "2.15.1" not as "2.0015" or something). Regards, Wil Show quoted text
---------- Forwarded message ---------- From: John Peacock via RT <bug-version@rt.cpan.org> Date: Sun, Sep 6, 2009 at 2:22 PM Subject: Re: [rt.cpan.org #49449] 'object version v1.1.1 does not match bootstrap parameter 1.1.1' To: wil@nohakostudios.net <URL: https://rt.cpan.org/Ticket/Display.html?id=49449 > On 09/05/2009 01:53 PM, Wilhansen Li via RT wrote:
> Version version: 0.7701 > perl -v: This is perl, v5.8.9 built for darwin-2level > uname -a: Darwin Yuushi.local 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386 > > Version might be causing loading problems when modules using XS load version strings without 'v'. For example, DBD::Pg version 2.15.1. It declares its version like this: > use version; our $VERSION = qv('2.15.1'); > > Which causes problems when I load it in Version 0.77 (though it works with the stock Mac Version which is 0.70): > DBD::Pg object version v2.15.1 does not match bootstrap parameter 2.15.1 at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/DynaLoader.pm line 253. > > I searched the web and I got a similar discussion: http://www.mail-archive.com/module-authors@perl.org/msg07418.html > I'm guessing it might have something to do with this: http://rt.cpan.org/Public/Bug/Display.html?id=46108 > > Regards, > Wil >
That's the real problem right there; it should be:     use version; our $VERSION = version->new('2.15.1'); The use of qv() is what causes the mismatch; there isn't anything that I can do to fix that (apart from rewriting the documentation, which is what I did)... John
qv() is not a generic version object creation method. In particular, by using it, you force normalized output for stringification (which means it has a leading 'v').
NOTABUG with version.pm. qv() is not a generic version object creator; it forces a normalized format when stringified (i.e. with a leading 'v'). This will not match XS_VERSION when compiled under Perl < 5.10.0 (which contains version-object-aware XS code). John