docbook-sk - xmlcatmgr: entry already exists

Joshua Tinnin krinklyfig at speakeasy.net
Wed Feb 28 16:24:53 UTC 2007


On Tue, Feb 27, 2007 at 07:54:12PM -0500, Robert Huff wrote:
> Joshua Tinnin writes:
> >  > >  for file in `/usr/bin/find /usr/ports/textproc/docbook-sk/work -type f |
> >  > >  /usr/bin/sed -e 's|^/usr/ports/textproc/docbook-sk/work/||' |
> >  > >  /usr/bin/grep -v '^\.' | /usr/bin/sort`; do  install  -o root -g wheel
> >  > >  -m 444 /usr/ports/textproc/docbook-sk/work/$file
> >  > >  /usr/local/share/xml/docbook/4.1.2/$file;  done
> >  > >  xmlcatmgr: entry already exists for
> >  > >  `/usr/local/share/xml/docbook/4.1.2/docbook.cat' of type `CATALOG'
> >  > >  *** Error code 1
> >  > 
> >  > 	_As I remember it_ the solution is to delete the catalog.
> >  > (i.e. make a backup, then delete the original)  The port will
> >  > evaluate this to a problem it understands and Do The Right Thing.
> >  
> >  OK, thanks for that. Is docbook.cat the catalog file to delete?
> 
> 	I don't remember - first time I had the experience, and (Deo
> gratia) the last..
> 
> >  Sorry, I'm not at all familiar with this part of the system.
> 
> 	Me either.

OK, from piecing together different posts regarding this problem, I came
up with a solution. This is a problem when docbook-sk is removed from
/var/db/pkg but not removed from the catalog files. The entries in those
files cause the install to fail, so, one way to fix it is to remove the
files and allow them to be rebuilt or replaced:

# rm /usr/local/share/sgml/catalog.ports
# rm /usr/local/share/xml/catalog.ports

Then force docbook-xml to rebuild, so it rebuilds (or replaces, not
sure) the catalog files:

# portmanager textproc/docbook-xml -l -f

(portupgrade could also be used, of course ...)

Then:

# pkgdb -F

... which pulled in docbook-sk, and it installed without a problem.

- jt


More information about the freebsd-ports mailing list