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



## Petr (May 10, 2012)

Hi all

*I* have problem. I entered the command *portupgrade -a*. I rec*e*ived this error message: 


```
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.


----------



## MarcoB (May 10, 2012)

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:

```
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.


----------



## oiram (May 11, 2012)

MarcoB: had the same issue and your suggestion helped me as well, thanks a lot


----------



## SirDice (May 15, 2012)

Always read /usr/ports/UPDATING:

```
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)
```


----------



## OH (May 15, 2012)

SirDice said:
			
		

> Always read /usr/ports/UPDATING:
> 
> ```
> 20120512:
> ...



Check the dates. UPDATING was again updated too late, just like recently with the OpenSSL update and there are more examples.


----------



## DutchDaemon (May 15, 2012)

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.


----------



## OH (May 15, 2012)

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.


----------



## SirDice (May 16, 2012)

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.


----------



## DavidMarec (May 17, 2012)

Doing what's written in /usr/port/UPDATING doesn't solve the issue:

```
]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.


----------



## jb_fvwm2 (May 17, 2012)

Sometimes the following works, sometimes more ports need similar; sometimes, however, it is an install bug or something...

```
/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
```


----------



## DavidMarec (May 17, 2012)

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.


----------



## mat (Dec 2, 2013)

*Re:*



			
				jb_fvwm2 said:
			
		

> Sometimes the following works, sometimes more ports need similar; sometimes, however, it is an install bug or something...
> 
> ```
> /bin/rm -rf /usr/ports/textproc/p5-XML-NamespaceSupport/work
> ...


Excellent, this worked for me too.

Thanks.


----------

