On 11/07/2013 12:54 AM, Raphael Hertzog wrote: > Hello, > > On Wed, 06 Nov 2013, Petr Vanek wrote: >> publican create --name New_Book >> >> No such file or directory at /usr/lib/perl5/XML/Parser/Expat.pm line 470. >> at line 123, column 0, byte 4432 >> Handler couldn't resolve external entity at line 123, column 0, byte 4432 >> error in processing external entity reference at line 123, column 0, byte >> 4432 >> error in processing external entity reference at line 3, column 1, byte 163 >> at /usr/lib/perl5/XML/Parser.pm line 187. > > I have the same error. Running with strace gives more clue: > > open("/usr/share/xml/docbook/schema/dtd/4.5/dbcentx.mod", O_RDONLY) = 7 > ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff1b1d5700) = -1 ENOTTY > (Inappropriate ioctl for device) > lseek(7, 0, SEEK_CUR) = 0 > fstat(7, {st_mode=S_IFREG|0644, st_size=11048, ...}) = 0 > fcntl(7, F_SETFD, FD_CLOEXEC) = 0 > read(7, "<!-- ..........................."..., 8192) = 8192 > read(7, "/xml-iso-entities-8879.1986/ISOg"..., 8192) = 2856 > read(7, "", 8192) = 0 > open("/usr/share/xml/docbook/schema/dtd/4.5//usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent", > O_RDONLY) = -1 ENOENT (No such file or directory) > [...] > > So the problem is actually that XML::Parser is trying to load > “/usr/share/xml/docbook/schema/dtd/4.5//usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent” > instead of “/usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent”. > > The dbcentx.mod file contains this reference to the above file: > > <![%ISOamsa.module;[ > <!ENTITY % ISOamsa PUBLIC > "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML" > "/usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent"> > <!--end of ISOamsa.module-->]]> > > I see no recent changes in docbook-xml or libxml-parser-perl so I wonder what > changed for this to break. > > I'm ccing Jeffrey Fearn, the upstream author, maybe he can give us some clues > about this problem.
It's because @pod_paths in /usr/bin/publican got broken by the version number changing from X.Y to vX.Y.Z, so the path to the pod directory is wrong since the v is removed from the docs dir. i.e. it's looking for /usr/share/docs/publican-v3.2.1 but the real directory is /usr/share/docs/publican-3.2.1 There is a patch for this checked in to the devel branch. diff --git a/bin/publican b/bin/publican index 781c8e0..cfd5798 100755 --- a/bin/publican +++ b/bin/publican @@ -77,10 +77,10 @@ my $bash_comp = undef; #Getopt::Long::Configure("debug"); -## BUGBUG how do we get this after install? -my @pod_paths = ( - './pod1', Publican::ConfigData->config('docdir') . "/publican-$VERSION" -); +my $ver = $VERSION; +$ver =~ s/v//g; +my @pod_paths + = ( './pod1', Publican::ConfigData->config('docdir') . "/publican-$ver" ); Cheers, Jeff. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org