[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: meinproc/docbook can't handle paths with spaces ?
From:       Alexander Neundorf <neundorf () kde ! org>
Date:       2007-12-17 20:57:27
Message-ID: 200712172157.27437.neundorf () kde ! org
[Download RAW message or body]

On Monday 17 December 2007, Andreas Pakulat wrote:
> On 17.12.07 21:12:28, Alexander Neundorf wrote:
> > currently kdelibs doesn't build if the source dir contains spaces:
> > man-checkXML.1.docbook:4: warning: failed to load external
> > entity "dtd/kdex.dtd"
> > 
> > strace says the following:
> > stat64("/home/alex/src/kde4-svn/KDE", 0xbfcf68ec) = -1 ENOENT (No such
> > file or directory)
> > stat64("dir/kdelibs/kdoctools/customization/catalog", 0xbfcf68ec) = -1
> > ENOENT (No such file or directory)
> > 
> > This is obviously wrong and should be:
> > stat64("/home/alex/src/kde4-svn/KDE\
> > dir/kdelibs/kdoctools/customization/catalog", ... )
> > 
> > So, is libxml actually able to deal with paths which contains spaces ?
> > Or are we just forgetting somewhere to escape some paths ?
> > 
> > (libxml docs seem to say that separators are the colon and spaces, \
> > which doesn't sound good...)
> 
> That would be really bad, however calling xmllint with a file that lies
> in a dir with spaces works fine. So hopefully its just some CMake-part
> that doesn't quote properly.

My mail was too short.
Here are the results from running it manually:
kdelibs-cmake-HEAD/doc/kbuildsycoca4$ ../../bin/meinproc4 --stylesheet \
/home/alex/src/kde4-svn/KDE\  \
dir/kdelibs/kdoctools/docbook/xsl/manpages/docbook.xsl --check \
--srcdir=/home/alex/src/kde4-svn/KDE\  dir/kdelibs/kdoctools/ \
/home/alex/src/kde4-svn/KDE\  \
dir/kdelibs/doc/kbuildsycoca4/man-kbuildsycoca4.8.docbook meinproc4(27435) \
                KLocalePrivate::initFormat: KLocalePrivate::KLocalePrivate
-- srcdir= -/home/alex/src/kde4-svn/KDE dir/kdelibs/kdoctools-
man-kbuildsycoca4.8.docbook:4: warning: failed to load external 
entity "dtd/kdex.dtd"
]>
  ^
man-kbuildsycoca4.8.docbook:6: validity error : Validation failed: no DTD 
found !
<refentry>


This is the command as it is executed when building. As you can see the \
spaces  are escaped with backslashes.
Now I replaced them with double quotes:

kdelibs-cmake-HEAD/doc/kbuildsycoca4$ ../../bin/meinproc4 --stylesheet \
"/home/alex/src/kde4-svn/KDE  \
dir/kdelibs/kdoctools/docbook/xsl/manpages/docbook.xsl" --check \
--srcdir="/home/alex/src/kde4-svn/KDE  dir/kdelibs/kdoctools/" \
"/home/alex/src/kde4-svn/KDE  \
dir/kdelibs/doc/kbuildsycoca4/man-kbuildsycoca4.8.docbook" meinproc4(27458) \
                KLocalePrivate::initFormat: KLocalePrivate::KLocalePrivate
-- srcdir= -/home/alex/src/kde4-svn/KDE dir/kdelibs/kdoctools-
man-kbuildsycoca4.8.docbook:4: warning: failed to load external 
entity "dtd/kdex.dtd"
]>
  ^
man-kbuildsycoca4.8.docbook:6: validity error : Validation failed: no DTD 
found !
<refentry>
         ^
man-kbuildsycoca4.8.docbook:9: parser error : Entity 'kde' not defined
<title>&kde; User's Manual</title>


The strace output was in my first mail.

Actually it is already one month ago when I found that, and I sent an email \
to  kdelibs-bugs then, so the details are not completely fresh.
But I think somewhere in libxml the arguments are parsed and escaping space \
 isn't supported. Can somebody confirm this ?

Alex


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic