[kde-edu]: Parley and libxml2/libxslt

Bernd Steinhauser gentoo at bernd-steinhauser.de
Sun Jun 22 17:13:23 CEST 2008


Hi,

atm, Parley seems to allow the optional build of the html export part, 
if libxml2 and libxslt are installed (and searched for). But if one 
turns that off, the result will be:
[ 98%] Building CXX object parley/src/CMakeFiles/parley.dir/main.o 
 

/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/parleydocument.cpp:45:27: 
error: libxml/parser.h: No such file or directory 

/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/parleydocument.cpp:46:25: 
error: libxml/tree.h: No such file or directory 

In file included from 
/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/parleydocument.cpp:48: 
 

/usr/include/libxslt/xsltInternals.h:17:25: error: libxml/hash.h: No 
such file or directory 

/usr/include/libxslt/xsltInternals.h:18:26: error: libxml/xpath.h: No 
such file or directory 

/usr/include/libxslt/xsltInternals.h:19:29: error: libxml/xmlerror.h: No 
such file or directory 

/usr/include/libxslt/xsltInternals.h:20:25: error: libxml/dict.h: No 
such file or directory 

/usr/include/libxslt/xsltInternals.h:21:30: error: libxml/xmlstring.h: 
No such file or directory 

In file included from 
/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/parleydocument.cpp:49: 
 

/usr/include/libxslt/transform.h:16:26: error: libxml/xmlIO.h: No such 
file or directory 

/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/main.cpp: In 
function 'int main(int, char**)': 

/var/tmp/paludis/kde-base-parley-scm/work/parley/parley/src/main.cpp:110: 
warning: unused variable 'parleyApp' 

[ 99%] Building CXX object 
parley/src/CMakeFiles/parley.dir/modeltest/modeltest.o 
 

[100%] Building CXX object parley/src/CMakeFiles/parley.dir/parley_automoc.o

Looking at parleydocument, we find:
parleydocument.cpp:
#ifdef HAVE_LIBXSLT
#include "export/export.h"
#endif

#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libxslt/xslt.h>
#include <libxslt/xsltInternals.h>
#include <libxslt/transform.h>
#include <libxslt/xsltutils.h>


So it looks like the #endif is in the wrong place. Applying this patch 
will get it working:
--- kdeedu/parley/src/parleydocument.cpp  (Revision 822550)
+++ kdeedu/parley/src/parleydocument.cpp  (Arbeitskopie)
@@ -40,7 +40,6 @@

  #ifdef HAVE_LIBXSLT
  #include "export/export.h"
-#endif

  #include <libxml/parser.h>
  #include <libxml/tree.h>
@@ -48,6 +47,7 @@
  #include <libxslt/xsltInternals.h>
  #include <libxslt/transform.h>
  #include <libxslt/xsltutils.h>
+#endif


  ParleyDocument::ParleyDocument(ParleyApp *parent)


But now there is the question, if it make sense to have it optional at 
all, because it seems, that kdelibs needs libxml2 and libxslt anyway, so 
there won't be a system, that doesn't have those libs.
So you might consider to remove the optional part and just hard enable it.

Regards,
Bernd


More information about the kde-edu mailing list