Re: Strawberry and CPAN
by xdg (Monsignor) on Jan 09, 2008 at 01:18 UTC
|
PerlMagick seems to have some really ugly custom Makefile.PL code. For Windows, the README says to use "perl Makefile.nt" and then "nmake install" -- which clearly assumes an ActiveState/MSVC/nmake setup. Moreover, I can't even replicate your error with my own Strawberry. Are you running 5.10.0 or 5.8.8 Alpha 2?
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
| [reply] |
|
It's the 5.10.0 version.
Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...
| [reply] |
|
I agree with Syphilis, below, that it would help to know other modules that this has happened on for comparision.
Could you please post the generated Makefile? I'm curious to see if anything strange is in it.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
| [reply] |
Re: Strawberry and CPAN
by syphilis (Archbishop) on Jan 09, 2008 at 06:15 UTC
|
Some modules have installed just fine, others have this error message.
Probably better if you can name one of these "others" ... if you could nominate one that's more straightforward than Image::Magick, then it would increase the likelihood of finding a solution.
Cheers, Rob | [reply] |
|
Well for a start, I installed Bundle::CPAN and they all installed except for IO::Zlib, which had exactly the same error:
ERROR: Cannot copy 'Zlib.pm' to 'blib\lib\IO\Zlib.pm':
No such file or directory
[snip]
dmake.EXE: Error code 130, while making 'pm_to_blib'
[snip]
Failed during this command:
TOMHUGHES/IO-Zlib-1.09.tar.gz : make NO
Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...
| [reply] [d/l] |
|
Then I tried Perl::Critic which has an almost comically-long list of dependencies and it failed almost all of them:
ADAMK/Test-Object-0.07.tar.gz : make NO
ADAMK/Class-Inspector-1.18.tar.gz : make NO
ADAMK/Test-ClassAPI-1.04.tar.gz : make NO
DCONWAY/Hook-LexWrap-0.20.tar.gz : make NO
ADAMK/Test-SubCalls-1.07.tar.gz : make NO
ADAMK/Task-Weaken-1.02.tar.gz : make NO
RDF/Clone-0.28.tar.gz : make NO
ADAMK/PPI-1.201.tar.gz : make NO
JJORE/B-Keywords-1.08.tar.gz : make NO
DARREN/String-Format-1.14.tar.gz : make NO
VPARSEVAL/List-MoreUtils-0.21.tar.gz : make NO
GAAS/IO-String-1.08.tar.gz : make NO
ROODE/Readonly-1.03.tar.gz : make NO
with the same error. Can't copy, dmake error 130, pm_to_blib, <whatever>.tar.gz make : no.
Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...
| [reply] [d/l] |
|
ROODE/Readonly-1.03.tar.gz : make NO
What happens if you try to install just Readonly (by itself) using CPAN - does the same error persist ?
Readonly-1.03 builds fine for me on Strawberry-5.10. However, I don't use CPAN.pm (which is probably where the problem lies).
Since *every* module you build has to copy a pm to blib, it's especially odd that this problem affects only *some* modules.
Cheers, Rob
| [reply] [d/l] |
|
Makefile.PL from Perl::Magick:
and the Makefile.nt version:
Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...
| [reply] [d/l] [select] |
Re: Strawberry and CPAN
by Anonymous Monk on Jan 12, 2008 at 20:11 UTC
|
I can't speak for the other modules failing, but I myself have been struggling with Strawberry Perl + Image::Magick lately. I finally just gave up and set up a Linux virtual machine.
The single biggest complication is that the Image Magick applications and library apparently have to be compiled from source, and the perl module is installed supplementally during this process. On a *nix system, this is a normal configure, make, make install. On win32, however...
I even tried installing a full copy of MinGW and MSYS, and building it from within MSYS...still with no luck though. I wish I could offer more than just commiseration. | [reply] [d/l] [select] |
Re: Strawberry and CPAN
by ggvaidya (Pilgrim) on Feb 19, 2009 at 06:27 UTC
|
Fix: You could do all of the following, or - as syphilis points out below - run the ppm utility which is available with Strawberry Perl. ppm install ImageMagick.ppd works a treat. Thank you, syphilis! Lengthy, unnecessary, somewhat inaccurate suggestions continue below.
A "quick-fix" which worked for me is to install PerlMagick using the ImageMagick installer (which fails, since Strawberry Perl doesn't have a ppm utility). But the PerlMagick files are stored in ImageMagick's folder, and you can copy them from ${ImageMagick's folder}/PerlMagick/blib directly into C:/Strawberry/perl/lib). I guess CPAN will have problems if anything depends on I::M, but none of the modules I need do, so this works for me.
Those paths are from memory, so please message me if I ought to correct any of them.
| [reply] [d/l] [select] |
|
| [reply] |
|
.. And the packages name is: Image-Magick.
>ppm install Image-Magick
works great.
| [reply] |
Re: Strawberry and CPAN
by EvanCarroll (Chaplain) on Aug 01, 2008 at 19:30 UTC
|
The problem here is often ImageMagick not being installed. You have to install it first. Then you can install Image::Magick. The build system should handle this better. I just had this problem.
D:\dbsync>cpanp install Image::Magick
[MSG] No 'C:\Documents and Settings\BradKing\Application Data\.cpanplu
+s\custom-s
ources' dir, skipping custom sources
Installing Image::Magick (6.004000)
Running [C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\bin\cpanp-
+run-perl.b
at C:\DOCUME~1\BradKing\APPLIC~1\CPANPL~1\510~1.0\build\PerlMagick-6.4
+0\Makefile
.PL ]...
Note (probably harmless): No library found for -lMagickCore
Note (probably harmless): No library found for -lMagickWand
Writing Makefile for Image::Magick
[ERROR] MAKE failed: Bad file descriptor
[ERROR] Unable to create a new distribution object for 'Image::Magick'
+ -- cannot
continue
*** Install log written to:
C:\Documents and Settings\BradKing\Application Data\.cpanplus\instal
+l-logs\Ima
ge-Magick-6.004000-1217616167.log
Error installing 'Image::Magick'
Problem installing one or more modules
| [reply] [d/l] |
|
Update: In a fit, I decided to focus on something that I can try to zero in on. ppm install Image-Magick which netted me mkdir D:\: Permission denied; The device is not ready at C:/strawberry/perl/site/lib/PPM.pm line 333
I know I don't have a valid D:\ drive and I can find the offending PPM.pm file and line. Navigating there, I found the following at lines 332 and 333.
my $install_dir = "$options{'BUILDDIR'}/$current_package{'NAME'}-$
+$";
File::Path::rmtree($install_dir,0,0);
A quick debug showed $option{'BUILDER'} was set to an impossible directory on the D:\ drive. A quick search turned up $options{'BUILDDIR'} = $elem->{BUILDDIR}; near line 1766.
Seeing as how it's 12:30AM and this is night #2 at this, I decided to just modify the variable right then and there. It's a kludge and probably won't hold up in production but a quick match to see if the drive letter exists and a Q&D substitution got me going. Whooohooo! Image::Magick installed without a hitch.
I'll leave this comment here for archival purposes. I tried a lot of solutions out there, but none actually suggested going in and seeing what PPM.pm was actually doing. Since I got Image::Magick installed and working with the above method, I did not bother going any further with resolving any of the other problems with cpan or the alternate alternate ppm install method.
I get the same issue.
Windows XP SP3
Strawberry Perl 5.10.0.6 (Also tried it with the most recent ActivePerl as of this writing)
Image Magick 6.5.6-5-Q16 Precompiled Windows Dynamic DLL.
This is maddeningly frustrating since I had this functioning on a prior Perl install. The old install was so old, that that particular distribution of Perl no longer exists. So I switched to Strawberry.
Using Cpan, I get the above error noted by Evan. If I attempt the ppm install Image-Magick I get the following error: mkdir D:\: Permission denied; The device is not ready at C:/strawberry/perl/site/lib/PPM.pm line 333 (Note: D:\ is my DVD-ROM drive). So I tried ppm install ImageMagick.ppd and I get the following failure: Can't locate object method "rvalidate" via package "PPM::XML::PPD::html" at C:/strawberry/perl/site/lib/PPM.pm line 1687.
I could fall back to using the Linux box since it has a functioning Perl and Image::Magick install but I really don't want to dig through my closet to figure out where it is and attach a monitor/keyboard/USB drive to it.
I'm tired of banging my head on this. What is it that I'm missing? How can I capture the output from cpan for analyzing? (tried piping but I get only partial output, not enough to analyze). | [reply] [d/l] [select] |