Opened 18 years ago

Closed 18 years ago

#1855 closed defect (fixed)

Error in PDL-2.4.2 installation

Reported by: hugo@… Owned by: Randy McMurchy
Priority: high Milestone: 6.2.0
Component: BOOK Version: SVN
Severity: major Keywords: Perl PDL ExtUtils::MakeMaker
Cc:

Description

When trying to install PDL-2.4.2, with Perl-5.8.8, I got the following error:

===========================================================
make[1]: Entering directory `/tmp/PDL-2.4.2/Demos'
/usr/bin/perl BAD2_demo.pm.PL BAD2_demo.pm
Can't locate PDL/Config.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at BAD2_demo.pm.PL line 12.
BEGIN failed--compilation aborted at BAD2_demo.pm.PL line 12.
make[1]: * [BAD2_demo.pm] Error 2
make[1]: Leaving directory `/tmp/PDL-2.4.2/Demos'
make:
* [subdirs] Error 2
===========================================================

I compared the installation log to the one I got on my previous PDL installation, which was done with Perl-5.8.7. I found that "-I../blib/lib -I../blib/arch" were missing for BAD2_demo.pm.PL and BAD_demo.pm.PL processing with the new installation. Using this sed construct to replace PERLRUN by PERLRUNINST, I have been able to successfully build PDL-2.4.2:
===========================================================
cd Demos
sed -i -e "s!\t\$(PERLRUN)\( BAD2_demo.pm.PL BAD2_demo.pm\)!\t\$(PERLRUNINST)\1!g" \
-e "s!\t\$(PERLRUN)\( BAD_demo.pm.PL BAD_demo.pm\)!t\$(PERLRUNINST)\1!g" \
Makefile
===========================================================

I already sent a message about that to PDL maintainers.

Change History (11)

comment:1 by hugo@…, 18 years ago

From the pdl mailing list:

This is a well-known bug in ExtUtils::MakeMaker 6.30, which is included in perl 5.8.8:

http://rt.cpan.org/Public/Bug/Display.html?id=17224

I created a LFS ticket, including a patch to fix the problem:

http://wiki.linuxfromscratch.org/lfs/ticket/1752

comment:2 by Randy McMurchy, 18 years ago

Keywords: Perl PDL ExtUtils::MakeMaker added

Though it is very likely this issue is caused due to a bug in the Perl-5.8.8 installation, it may be that the 'bug' was an intentional change and the PDL sources may have to be modified. Until it is determined where the fix is going to be, we'll keep this ticket open, mostly so folks can see that we are aware of the issue.

comment:3 by archaic@…, 18 years ago

I cannot find a recent PDL list archive site. The latest development perl does has not reverted this change lending creedence to it being an intentional change. I will use the email address listed in the MakeMaker FAQ at CPAN to try and get this sorted out.

comment:4 by archaic@…, 18 years ago

PDL CVS just built fine with an unpatched MM_Unix.pm. I know all squat about this package so must leave it in more capable hands.

comment:5 by bdubbs@…, 18 years ago

Can you do a diff between the new and old packages and see if you can see what changes that affects the install? It sounds like something in a Makefile.

comment:6 by bdubbs@…, 18 years ago

I went ahead and pulled the CVS code and did a diff. Nothing jumped out. There is one change in Demos/Makefile.PL:

  • }

+ }, + 'clean' => { 'FILES' => 'BAD_demo.pm BAD2_demo.pm' }

Perhaps they are just deleting the problem files. I can't really tell for sure.

comment:7 by archaic@…, 18 years ago

Dunno Bruce. But if upstream thinks that is the way to go...

comment:8 by Randy McMurchy, 18 years ago

Owner: changed from blfs-book@… to Randy McMurchy

comment:9 by Randy McMurchy, 18 years ago

Status: newassigned

comment:10 by Randy McMurchy, 18 years ago

Priority: normalhigh
Severity: normalmajor

I'm not sure what CVS Bruce was looking at, but the maintainers fixed the problem 5 weeks ago by adding a 'use blib;' instruction to the BAD2_demo.pm.PL and BAD_demo.pm.PL files. I added the line to each of those files and PDL compiled perfectly.

The fix is identical for both files, so one sed ran against both files should be all the book needs to fix this issue.

comment:11 by Randy McMurchy, 18 years ago

Resolution: fixed
Status: assignedclosed

Fixed in r5931 by adding this sed to the PDL instructions:

sed -i 's/\(dirname);\)/\1\nuse blib;/' Demos/BAD*demo.pm.PL

Thanks to Hugo for identifying this issue and pinpointing the problem which made finding the fix from PDL CVS a very trivial issue.

Note: See TracTickets for help on using tickets.