On Wed, Nov 6, 2013 at 11:31 PM, Jeff Fearn <jfe...@redhat.com> wrote:
> 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. > > Thank you Jeff. Please correct me if i am wrong, but i have hand edited my /usr/bin/publican to have this diff changes but the behavior hasn't changed. Also, downgrading would fix this problem which it doesn't. This leads me to believe that this is a different issue? $ publican build 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 5, column 1, byte 250 at /usr/lib/perl5/XML/Parser.pm line 187. Thank you Petr