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

Reply via email to