Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Build problems with Archive::Zip?

by BrowserUk (Patriarch)
on Jul 08, 2015 at 17:14 UTC ( [id://1133747]=perlquestion: print w/replies, xml ) Need Help??

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

I'm trying to build the latest Archive::Zip from CPAN and I'm getting the following errors:

C:\perl64\packages\Archive-Zip-1.48>makefile Checking if your kit is complete... Looks good Bareword found where operator expected at ./Makefile.PL line 1, near " +17 gid" (Missing operator before gid?) Number found where operator expected at ./Makefile.PL line 2, near "18 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 2, near " +18 uid" (Missing operator before uid?) Number found where operator expected at ./Makefile.PL line 3, near "20 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 3, near " +20 ctime" (Missing operator before ctime?) Number found where operator expected at ./Makefile.PL line 4, near "20 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 4, near " +20 atime" (Missing operator before atime?) Number found where operator expected at ./Makefile.PL line 5, near "23 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 5, near " +23 SCHILY" (Missing operator before SCHILY?) Number found where operator expected at ./Makefile.PL line 6, near "23 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 6, near " +23 SCHILY" (Missing operator before SCHILY?) Number found where operator expected at ./Makefile.PL line 7, near "18 +" (Missing semicolon on previous line?) Bareword found where operator expected at ./Makefile.PL line 7, near " +18 SCHILY" (Missing operator before SCHILY?) ERROR from evaluation of C:\perl64\packages\Archive-Zip-1.48\PaxHeader +/Makefile.PL: syntax error at ./Makefile.PL line 1, near "17 gid"

The file Archive-Zip-1.48/PaxHeader/Makefile.PL:

17 gid=859227846 18 uid=1209014870 20 ctime=1434661972 20 atime=1434661969 23 SCHILY.dev=16777220 23 SCHILY.ino=10610141 18 SCHILY.nlink=2

Obviously isn't a perl script let alone a makefile.pl, but I'm not invoking that script, I'm running the makefile.pl in the top level subdirectory of the distribution, and I cannot follow how, when or why that file is being invoked.

Does any of this mean anything to anyone?


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!

Replies are listed 'Best First'.
Re: Build problems with Archive::Zip?
by marto (Cardinal) on Jul 08, 2015 at 18:56 UTC

    *nope You're in the wrong directory. For the latest release I see:

    Volume serial number is F217-BC95 D:. *--Archive-Zip-1.48 | *--examples | | *--PaxHeader | *--lib | | *--Archive | | | *--PaxHeader | | | *--Zip | | | *--PaxHeader | | *--PaxHeader | *--PaxHeader | *--script | | *--PaxHeader | *--t | *--badjpeg | | *--PaxHeader | *--data | | *--PaxHeader | *--PaxHeader *--PaxHeader

    I'm sure you know this, but for future readers don't enter the PaxHeader directories. Just run perl Makefile.PL from within the extracted Archive-Zip-1.48, or install via cpan/cpanm.

    I think the root cause of this is that certain distros (e.g. opensuse) ship tar defaulting to this format, rather than the gnu format (--format=gnu). See also rt://105547.

    Update: hang on, ignore the text I struk out. Let me dig deeper.

    Update 2:Delete all the PaxHeader directories, perl Makefile.PL, dmake, dmake test, finally dmake install and all is well. RT ticket updated.

    Update 3:For reference, the manual install fails, a cpan install works on Windows. I uninstalled my manual build then cpan Archive::Zip, worked without error.

      Update 2:Delete all the PaxHeader directories,

      Thanks marto. Delete those and I get a clean install. Perfect.

      C:\perl64\packages\Archive-Zip-1.48>makefile Checking if your kit is complete... Looks good Writing Makefile for Archive::Zip Writing MYMETA.yml and MYMETA.json C:\perl64\packages\Archive-Zip-1.48>nmake Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/Archive/Zip/FileMember.pm blib\lib\Archive\Zip\FileMember.pm cp lib/Archive/Zip/MemberRead.pm blib\lib\Archive\Zip\MemberRead.pm cp lib/Archive/Zip/MockFileHandle.pm blib\lib\Archive\Zip\MockFileHand +le.pm cp lib/Archive/Zip/BufferedFileHandle.pm blib\lib\Archive\Zip\Buffered +FileHandle.pm cp lib/Archive/Zip/StringMember.pm blib\lib\Archive\Zip\StringMember.p +m cp lib/Archive/Zip/Tree.pm blib\lib\Archive\Zip\Tree.pm cp lib/Archive/Zip/FAQ.pod blib\lib\Archive\Zip\FAQ.pod cp lib/Archive/Zip/Member.pm blib\lib\Archive\Zip\Member.pm cp lib/Archive/Zip/Archive.pm blib\lib\Archive\Zip\Archive.pm cp lib/Archive/Zip.pm blib\lib\Archive\Zip.pm cp lib/Archive/Zip/DirectoryMember.pm blib\lib\Archive\Zip\DirectoryMe +mber.pm cp lib/Archive/Zip/NewFileMember.pm blib\lib\Archive\Zip\NewFileMember +.pm cp lib/Archive/Zip/ZipFileMember.pm blib\lib\Archive\Zip\ZipFileMember +.pm C:\Perl64\bin\perl.exe -MExtUtils::Command -e cp -- script/crc +32 blib\script\crc32 pl2bat.bat blib\script\crc32 C:\perl64\packages\Archive-Zip-1.48>nmake install Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. Installing C:\Perl64\site\lib\Archive\Zip.pm Installing C:\Perl64\site\lib\Archive\Zip\Archive.pm Installing C:\Perl64\site\lib\Archive\Zip\BufferedFileHandle.pm Installing C:\Perl64\site\lib\Archive\Zip\DirectoryMember.pm Installing C:\Perl64\site\lib\Archive\Zip\FileMember.pm Installing C:\Perl64\site\lib\Archive\Zip\Member.pm Installing C:\Perl64\site\lib\Archive\Zip\MemberRead.pm Installing C:\Perl64\site\lib\Archive\Zip\MockFileHandle.pm Installing C:\Perl64\site\lib\Archive\Zip\NewFileMember.pm Installing C:\Perl64\site\lib\Archive\Zip\StringMember.pm Installing C:\Perl64\site\lib\Archive\Zip\Tree.pm Installing C:\Perl64\site\lib\Archive\Zip\ZipFileMember.pm Appending installation info to C:\Perl64\lib/perllocal.pod

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
      I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!
        Why are you doing this?
Re: Build problems with Archive::Zip?
by GotToBTru (Prior) on Jul 08, 2015 at 19:00 UTC

    Is Windows confusing MakeFile.PL and makefile.pl? That whole upper/lower case thing is too much for Redmond...

    Dum Spiro Spero

      No.

Re: Build problems with Archive::Zip?
by fishmonger (Chaplain) on Jul 08, 2015 at 18:26 UTC

    That's not how the makefile is used. You should be executing the make (or dmake) utility. The make utility is what reads/uses the makefile.

    Instead of manually downloading, unpacking, and building, have you tried using the cpan (or cpanm) tool to install the module?

    cpan install Archive::Zip

      Do you know the different between makefile and makefile.pl?


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
      I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!

        Yes I do know the difference.

        I do most of my coding on *nix systems and made 2 mistakes here. 1) My mindset was in the *nix world where makefile and makefile.pl and Makefile.PL are 3 distinctly different files, which is not the case in the MS world. 2) I focused in on that 1 part and didn't read the full post.

        I retract the first part of my first post but will still recommend using cpan/cpanm for the module installs instead of doing it manually.

          A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Build problems with Archive::Zip?
by Anonymous Monk on Jul 08, 2015 at 22:33 UTC

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2024-03-29 01:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found