kdepim 'make' errors... index.docbook:8: warning: failed to load external entity "dtd/kdex.dtd"

Asked by BryanFRitt on 2011-06-09

In trying to compile kdepim I get a bunch of 'validity error : No declaration for element' ... errors
I've installed from source with`apt-get source kdepim`, `sudo apt-get build-dep kdepim`, kdepim-dev, ubuntu-dev-tools, kubuntu-dev-tools, build-essential, etc...
What's to do get this working?

Thanks

using
`make`
I get:
...
[ 97%] Generating index.cache.bz2
index.docbook:8: warning: failed to load external entity "dtd/kdex.dtd"
]>
  ^
index.docbook:10: parser error : Entity 'language' not defined
<book lang="&language;">
                      ^
...
index.docbook:1154: element book: validity error : No declaration for element book
</book>
       ^
make[2]: *** [doc/akregator/index.cache.bz2] Error 1
make[1]: *** [doc/akregator/CMakeFiles/akregator-handbook.dir/all] Error 2
make: *** [all] Error
..
using
`make -k`
I also get even more 'validity error : No declaration for element' ... type errors.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu kdepim Edit question
Assignee:
No assignee Edit question
Solved by:
BryanFRitt
Solved:
2011-06-11
Last query:
2011-06-11
Last reply:
2011-06-10

Did you run:

configure

first? Any special reason why you are compiling?

BryanFRitt (bryanfritt) said : #2

I made a subdirectory called build and did a `cmake ..` on it.

Trying to add this feature to a newer version of KOrganizer:
"KOrganizer should round to the nearest 5 minutes, (or custom unit) instead of nearest 15 minutes"
https://bugs.kde.org/show_bug.cgi?id=164206

BryanFRitt (bryanfritt) said : #3

Just tried a
`cmake -DCMAKE_INSTALL_PREFIX='/opt/kdepim-4.4-10' ..`
and
`make`
got this message:
make[2]: *** No rule to make target `/opt/kdepim-4.4.10/share/dbus-1/interfaces/org.kde.KSpeech.xml', needed by `kalarm/kspeechinterface.cpp'. Stop.
make[1]: *** [kalarm/CMakeFiles/kalarm_bin.dir/all] Error 2
make: *** [all] Error 2
then
`make korganizer` <-- less stuff than just `make` , which gives the error message
no error messages
then
`sudo make install korganizer` <-- seams to be the same results as just `sudo make install`
got the same message:
make[2]: *** No rule to make target `/opt/kdepim-4.4.10/share/dbus-1/interfaces/org.kde.KSpeech.xml', needed by `kalarm/kspeechinterface.cpp'. Stop.
make[1]: *** [kalarm/CMakeFiles/kalarm_bin.dir/all] Error 2

[strange, I thought I tried it this way before. ... ]

This PPA has 4.5.96:
https://launchpad.net/~kubsoup/+archive/kontact

If you need 4.4.10 then this has 4.4.11:
https://launchpad.net/~rohangarg/+archive/experimental

Are you chasing exactly 4.4.10?

BryanFRitt (bryanfritt) said : #5

As far as I know, this change isn't part of the official KOrganizer, so I'll have to compile it.
Quote:
Trying to add this feature to a newer version of KOrganizer:
"KOrganizer should round to the nearest 5 minutes, (or custom unit) instead of nearest 15 minutes"
https://bugs.kde.org/show_bug.cgi?id=164206

BryanFRitt (bryanfritt) said : #6

"Are you chasing exactly 4.4.10?"
Nope, it's just the one that `apt-get source kdepim` gave.
I found
ftp://ftp.kde.org/pub/kde/stable/kdepim-4.6.0/src/
Does it matter if I match the one the distribution has?
I'm on K/Ubuntu 11.04

BryanFRitt (bryanfritt) said : #7

Somewhere on the internet I found a webpage that implied replacing "dtd/kdex.dtd" in the 'index.docbook' files with a value returned by `locate kdex.dtd` in my case '/usr/share/apps/ksgmltools2/customization/obsolete/kdex.dtd' .
?That seams to have helped with the first problem? ?Maybe not?
Now getting on `make install` ...
make[2]: *** No rule to make target `/opt/kdepim-4.4.10/share/dbus-1/interfaces/org.kde.KSpeech.xml', needed by `kalarm/kspeechinterface.cpp'. Stop.
make[1]: *** [kalarm/CMakeFiles/kalarm_bin.dir/all] Error 2
make: *** [all] Error 2
...

mycae (mycae) said : #8

If you are compiling from a package obtained from the repositories, using "make" directly may not be a good idea.

You need to use the debian build tools, as the package maintainer will have added patches, and other things as well.

Follow these instructions to rebuild a source package:
http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/

BryanFRitt (bryanfritt) said : #9

Thanks for the link, http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/ , to help rebuild Ubuntu packages, I think I'll start doing it this way, but even so, it still has same problem...
...
`dpkg-buildpackage -rfakeroot -uc -b`
...
Scanning dependencies of target akregator-handbook
make[3]: Leaving directory `/home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu'
/usr/bin/make -f doc/akregator/CMakeFiles/akregator-handbook.dir/build.make doc/akregator/CMakeFiles/akregator-handbook.dir/build
make[3]: Entering directory `/home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu'
/usr/bin/cmake -E cmake_progress_report /home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu/CMakeFiles
[ 97%] Generating index.cache.bz2
cd ../doc/akregator && /usr/bin/meinproc4 --check --cache /home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu/doc/akregator/index.cache.bz2 /home/bryan/src/kdepim-4.4.10-0ubuntu5/doc/akregator/index.docbook
index.docbook:8: warning: failed to load external entity "dtd/kdex.dtd"
]>
  ^
index.docbook:10: parser error : Entity 'language' not defined
<book lang="&language;">
                      ^
index.docbook:10: element book: validity error : No declaration for attribute lang of element book
<book lang="&language;">
                       ^
index.docbook:13: element application: validity error : No declaration for element application
<title>The &akregator; Handbook</title>
                      ^

...

index.docbook:1153: parser error : Entity 'documentation.index' not defined
&documentation.index;
                     ^
index.docbook:1154: element book: validity error : No declaration for element book
</book>
       ^
make[3]: *** [doc/akregator/index.cache.bz2] Error 1
make[3]: Leaving directory `/home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu'
make[2]: *** [doc/akregator/CMakeFiles/akregator-handbook.dir/all] Error 2
make[2]: Leaving directory `/home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/bryan/src/kdepim-4.4.10-0ubuntu5/obj-x86_64-linux-gnu'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
--
Found http://bugs.kde.org/show_bug.cgi?id=272205
purging 'bleachbit', using 'synaptic' to reinstall anything installed with 'kdelib' in it's name, and tried again... same errors...
also did this afterwards
`sudo updatedb` followed by a
`locate kdex.dtd` gives
/usr/share/apps/ksgmltools2/customization/dtd/kdex.dtd
/usr/share/apps/ksgmltools2/customization/obsolete/kdex.dtd
and it looks like those files are there.

BryanFRitt (bryanfritt) said : #10

Could these parser error problems have been caused by 'bleachbit'?

Anyway... I got it to compile now, by

Replacing "dtd/kdex.dtd" in all the 'index.docbook' files with a value returned by `locate kdex.dtd` in my case '/usr/share/apps/ksgmltools2/customization/dtd/kdex.dtd'

Reinstalling kdoctools, kdelib, (etc...?)

[There might be a better, and easier way than this?] For all the 'parser error : Entity not defined' errors, in the file mentioned, (typically an index.docbook in the folder mentioned somewhere before error message, and not so easy to spot) removing the '&' infront the word everytime it's in the file. (I suspect this was for 'language localization', and you can change the text to how you like) Also deleting some of the '&Entity' only lines in doc/kmail/index.docbook, don't know what effect that'll have, could be bad. Since I'm only really interested in using a modified KOrganizer I'm not too worried.

You might want to try `dpkg-buildpackage -rfakeroot -uc -b -nc` instead of the mentioned one on the website `dpkg-buildpackage -rfakeroot -uc -b` for recompile speed, when dealing with the parse errors messages. (?etc...?)

Now on to putting in modifications...

mycae (mycae) said : #11

>Could these parser error problems have been caused by 'bleachbit'?
Its possible. If you can reproduce this error in a COW system, then I would say no :)

I don't usually recommend -nc, as sometimes a maintainer stuffs up a debian/rules such that it wont build on a double build w/o clean. I do however recommend ccache (though its only for c/c++, afaik).