Bug 33023

Summary: failed to make install ports/textproc/p5-XML-SAX
Product: Ports & Packages Reporter: sugimura <sugimura>
Component: Individual Port(s)Assignee: Ade Lovett <ade>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description sugimura 2001-12-20 04:30:01 UTC
At ports/textproc/p5-XML-SAX, make install fails as followings:

------------------
(snip)
Installing /usr/local/lib/perl5/5.00503/man/man3/XML::SAX.3
Writing /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/XML/SAX/.packlist
Appending installation info to /usr/libdata/perl/5.00503/mach/perllocal.pod
could not find ParserDetails.ini in /usr/local/lib/perl5/site_perl/5.005/XML/SAX
File::Spec version 0.8 required--this is only version 0.6 at /usr/local/lib/perl
5/site_perl/5.005/File/Temp.pm line 124.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.005/File/Temp.pm line 124.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.005/XML/SA
X/PurePerl/Reader/URI.pm line 8.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.005/XML/SAX/PurePerl/Reader.pm line 8.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.005/XML/SAX/PurePerl.pm line 11.
*** Error code 255

Stop in /usr/ports/textproc/p5-XML-SAX/work/XML-SAX-0.03.
*** Error code 1

Stop in /usr/ports/textproc/p5-XML-SAX.
*** Error code 1

Stop in /usr/ports/textproc/p5-XML-SAX.
*** Error code 1

Stop in /usr/ports/textproc/p5-XML-SAX.
------------------

I'm sorry I have little skill in Perl language,
so I cannot fix this..

How-To-Repeat: please see above.
Comment 1 Anton Berezin freebsd_committer freebsd_triage 2001-12-20 17:43:18 UTC
State Changed
From-To: open->analyzed

Unfortunately, there is no easy solution in -stable for this one. 

The problem is that the File::Temp module (which is required by the port 
in question) requires File::Spec module version 0.8 or later.  Even 
though File-Temp port lists the File-Spec port as a dependency, the base 
system perl already has an old File::Spec module installed. 

Since the default @INC path is set to look into /usr/libdata/perl first, 
the wrong version of File::Spec is being picked up. 

There are the following possible solutions: 

1. Remove the /usr/libdata/perl/5.00503/File/Spec.pm and the whole 
/usr/libdata/perl/5.00503/File/Spec/ directory.  This will solve your 
problem immediately, assuming that File-Spec port is installed.  You 
will probably want to add NOPERL=yes into your /etc/make.conf so that 
the effects of this removal will not be undone next time you do a 
source upgrade of your system. 

2. Install the lang/perl5 port and switch to it.  This is a FreeBSD port 
of perl 5.6.1, which has a recent enough version of File::Spec module 
in the distribution.  This will mean, however, that you will have to 
reinstall all your currently installed perl modules if you want to 
continue to use them. 

3. Set PERL5LIB evironment variable globally (i.e., in /etc/login.conf) 
to point to /usr/local/lib/perl5/site_perl/5.005/i386-freebsd and to 
/usr/local/lib/perl5/site_perl/5.005.  This will solve your problem 
for all perl scripts which are *not* run with -T or with suidperl. 

4. Wait a short period of time until the `natural order' in @INC is 
changed in the system perl in -stable, and upgrade.  I am planning to 
do that before the new year if our release engineers will approve the 
change. 

5. Wait a longer period of time until 5.6.1 is imported in -stable. 

Hope this helps, 
=Anton.
Comment 2 Ade Lovett freebsd_committer freebsd_triage 2002-04-13 19:05:36 UTC
State Changed
From-To: analyzed->closed

Timeout (3 months) in analyzed.  Also non-trivial to fix for -stable 
as per the audit trail. 


Comment 3 Ade Lovett freebsd_committer freebsd_triage 2002-04-13 19:05:36 UTC
Responsible Changed
From-To: freebsd-ports->ade

My fault[tm]