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 [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]