Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

problem incrementing module version number

by cmac (Monk)
on Feb 15, 2009 at 01:09 UTC ( [id://743894]=perlquestion: print w/replies, xml ) Need Help??

cmac has asked for the wisdom of the Perl Monks concerning the following question:

Having a silly, frustrating problem. I developed a perl module, all during the development it was called version 0.5. Last night I submitted it to CPAN under that number. Today I thought of a couple of issues and am trying to rev it to 0.5.1. Changed the "our version = " line in the .pm file to say 0.5.1. Also added ".1" in the build directory name.

the following steps work fine:
make distclean perl Makefile.PL make sudo make install
but when I 'make test' I get the following error message:
not ok 1 - use IPC::MMA; # Failed test 'use IPC::MMA;' # at t/0_passthrus.t line 10. # Tried to use 'IPC::MMA'. # Error: IPC::MMA object version does not match bootstrap parame +ter Compilation failed in require at (eval 3) line 2.
Somewhere there is an "0.5" that hasn't been bumped by the steps above. Please can anyone tell me where?

Thanks,
cmac

Replies are listed 'Best First'.
Re: problem incrementing module version number
by syphilis (Archbishop) on Feb 15, 2009 at 01:20 UTC
    Somewhere there is an "0.5" that hasn't been bumped by the steps above

    Perhaps the problem is related to having bumped the version to 0.5.1 (not sure). Do you get the same problem if you bump the version to 0.6 ?

    Cheers,
    Rob
Re: problem incrementing module version number
by Bloodnok (Vicar) on Feb 15, 2009 at 01:21 UTC
    Are you sure that remnants of the previous version (0.5) isn't/aren't lurking in your perl library (try sudo make distclean) ?? Also have a look for hidden/system files in the dev't directory.

    A user level that continues to overstate my experience :-))
      Looked up MMA.* in /usr/local and deleted whatever directories started with IPC (module is IPC::MMA ie IPC/MMA). Made no difference. My ll command shows .files which I think are what Unix would call a hidden file. Not sure what a system file would be... is that a unix or windows concept?
      <br Looked up posts for the specific error message and no answerer ever said "this message happens when (entity) compares the (something) to the bootstrap or version in the .pm file". Nothing like that anywhere on the Net!

      Did I mention this is an xs module? in 'perlxs' I find the following:
      The VERSIONCHECK: Keyword The VERSIONCHECK: keyword corresponds to xsubpp's -versioncheck and -n +oversioncheck options. This keyword overrides the command line option +s. Version checking is enabled by default. When version checking is e +nabled the XS module will attempt to verify that its version matches +the version of the PM module. To enable version checking: VERSIONCHECK: ENABLE To disable version checking: VERSIONCHECK: DISABLE
      I guess my Q devolves into "where does the XS module get/determine 'its' version to match against the .pm version which is the thing that has gone up to 0.5.1?"

      cmac
        Updated 9PM PST: Putting VERSIONCHECK: DISABLE in my xs file, after the MODULE statement, allowed 'make test' to run.

        But there was more to the story. When I then got to 'make tardist', it made an awful-looking filename for the tar.gz, ending (the file is not around any more) something like \005\001.tar.gz instead of 0.5.1.tar.gz. From this I inferred that something in the chain ExtUtils::MakeMaker -> tar -> gzip did not like my new $VERSION = "0.5.1" in my .pm file. So I changed it to "0.51", also in the name of the build directory.

        With this change the VERSIONCHECK: DISABLE is no longer needed in my .xs file.

        A monastery should have some scribes to record stuff like this for the coming ages...

        Thanks for the help,
        cmac
Re: problem incrementing module version number
by Anonymous Monk on Feb 15, 2009 at 03:09 UTC
    eval { require IPC::MMA; }; print $_,$/ for %INC;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://743894]
Approved by Bloodnok
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-19 16:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found