textproc/p5-XML-SAX (p5-XML-SAX-0.96) (install error)

Hi all

I have problem. I entered the command portupgrade -a. I received this error message:

Code:
Can't locate XML/SAX/Exception.pm in @INC (@INC contains: /usr/local/lib/perl5/5.12.4/BSDPAN
 /usr/local/lib/perl5/site_perl/5.12.4/mach /usr/local/lib/perl5/site_perl/5.12.4
 /usr/local/lib/perl5/5.12.4/mach /usr/local/lib/perl5/5.12.4 .) at
 /usr/local/lib/perl5/site_perl/5.12.4/XML/SAX/ParserFactory.pm line 12.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.12.4/XML/SAX/ParserFactory.pm
 line 12.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.12.4/XML/SAX.pm line 18.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.12.4/XML/SAX.pm line 18.
Compilation failed in require.
BEGIN failed--compilation aborted.
*** Error code 2

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

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

Stop in /usr/ports/textproc/p5-XML-SAX.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20120510-72672-1f07mkm-0
 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=p5-XML-SAX-0.96 UPGRADE_PORT_VER=0.96 make reinstall
--->  Restoring the old version
** Fix the installation problem and try again.
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 837 packages found (-0 +1) . done]
--->  Skipping 'textproc/p5-XML-LibXML' (p5-XML-LibXML-1.96,1) because a requisite package
 'p5-XML-SAX-0.96' (textproc/p5-XML-SAX) failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! textproc/p5-XML-SAX (p5-XML-SAX-0.96)	(install error)
	* textproc/p5-XML-LibXML (p5-XML-LibXML-1.96,1)
DarkStar#

I read some howto but I have not found the solution.

Thank you very much.
 
Had this too. For some reason p5-XML-SAX needs a complete new p5-XML-SAX-Base. So you need to completely deinstall SAX-Base first before upgrading SAX:
Code:
cd /usr/ports/textproc/p5-XML-SAX-Base
make deinstall clean
clean distfiles
make install clean
cd /usr/ports/textproc/p5-XML-SAX
make deinstall clean
clean distfiles
make install clean
After this you can portupgrade p5-XML-LibXML too.
 
Always read /usr/ports/UPDATING:
Code:
20120512:
  AFFECTS: users of textproc/p5-XML-SAX
  AUTHOR: crees@FreeBSD.org

  p5-XML-SAX (X-S) was split into p5-XML-SAX-Base (X-S-B) and p5-XML-SAX for
  version 0.99.  Since X-S-B now installs some files formerly installed by X-S
  the package for X-S must be deinstalled before updating X-S.

  # pkg_delete -fx p5-XML-SAX
  # portmaster textproc/p5-XML-SAX

  (users of pkgng can substitute pkg_delete with pkg delete)
 
SirDice said:
Always read /usr/ports/UPDATING:
Code:
20120512:
  AFFECTS: users of textproc/p5-XML-SAX
  AUTHOR: crees@FreeBSD.org
(...)

Check the dates. UPDATING was again updated too late, just like recently with the OpenSSL update and there are more examples.
 
Yes, that's been happening quite a few times lately. There really should be an entry in UPDATING before the port update is actually rolled into the tree. Maybe UPDATING information should be supplied by a file in the port directory itself (like /usr/ports/some/port/files/UPDATING), and queried by a separate piece of code called by make. The central file seems to get overlooked by both parties (porter and installer) too easily.
 
I like that idea. /usr/ports/category/port/pkg-updating would be my first suggestion for a specific file.

I'd put it on the mailinglist if I were you.
 
I make a habit of reading /usr/ports/UPDATING regularly.
Obviously it doesn't help if the information is added too late :(

I too like the idea of a port specific UPDATING file.
 
Doing what's written in /usr/port/UPDATING doesn't solve the issue:
Code:
]0;portmaster: textproc/p5-XML-SAX===>  Installing for p5-XML-SAX-0.99
===>   Generating temporary packing list
===>  Checking if textproc/p5-XML-SAX already installed
could not find ParserDetails.ini in /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX
Can't locate XML/NamespaceSupport.pm in @INC (@INC contains: /usr/local/lib/perl5/5.14.2/BSDPAN
 /usr/local/lib/perl5/site_perl/5.14.2/mach /usr/local/lib/perl5/site_perl/5.14.2 /usr/local/lib/perl5/5.14.2/mach
 /usr/local/lib/perl5/5.14.2 .) at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX/PurePerl.pm line 20.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX/PurePerl.pm line 20.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX.pm line 147.
*** Error code 2

Stop in /usr/ports/textproc/p5-XML-SAX/work/XML-SAX-0.99.
*** Error code 1
]0;portmaster: textproc/p5-XML-SAX===>  Installing for p5-XML-SAX-0.99
===>   Generating temporary packing list
===>  Checking if textproc/p5-XML-SAX already installed
could not find ParserDetails.ini in /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX
Can't locate XML/NamespaceSupport.pm in @INC (@INC contains: /usr/local/lib/perl5/5.14.2/BSDPAN
 /usr/local/lib/perl5/site_perl/5.14.2/mach /usr/local/lib/perl5/site_perl/5.14.2 /usr/local/lib/perl5/5.14.2/mach
 /usr/local/lib/perl5/5.14.2 .) at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX/PurePerl.pm line 20.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX/PurePerl.pm line 20.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.14.2/XML/SAX.pm line 147.
*** Error code 2

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

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

===>>> Installation of p5-XML-SAX-0.99 (textproc/p5-XML-SAX) failed

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

===>>> Installation of p5-XML-SAX-0.99 (textproc/p5-XML-SAX) failed

I pushed the complete 'script' file over there:
http://user.lamaiziere.net/david/bsd/p5-XML-SAX

I really have no skill about perl's stuff.
 
Sometimes the following works, sometimes more ports need similar; sometimes, however, it is an install bug or something...
Code:
/bin/rm -rf /usr/ports/textproc/p5-XML-NamespaceSupport/work
pkg_delete -f /var/db/pkg/p5-XML-NamespaceSupport-1.11
# make build-depends-list (good to make an alias from)...
cd /usr/ports/textproc/p5-XML-SAX
make install
 
jb_fvwm2 said:
Sometimes the following works, sometimes more ports need similar; sometimes, however, it is an install bug or something...

Thanks, this did the trick. I used portmaster instead of calling make directly, however.
 
Re:

jb_fvwm2 said:
Sometimes the following works, sometimes more ports need similar; sometimes, however, it is an install bug or something...
Code:
/bin/rm -rf /usr/ports/textproc/p5-XML-NamespaceSupport/work
pkg_delete -f /var/db/pkg/p5-XML-NamespaceSupport-1.11
# make build-depends-list (good to make an alias from)...
cd /usr/ports/textproc/p5-XML-SAX
make install
Excellent, this worked for me too.

Thanks.
 
Back
Top