Red Hat Bugzilla – Bug 52783
kdebase does not build due to meinproc error
Last modified: 2007-04-18 12:36:41 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Description of problem:
build of kdebase 2.2-5 bombs in doc/kate when make runs meinproc in
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.rpm --rebuild kdebase-2.2-5.src.rpm
2. bombs in doc/kate
[drdisk@junkyard kate]$ meinproc --check --cache index.cache.bz2
Don't know how to do adjust column widths with libxslt
unable to parse index.docbook
Expected Results: successful build
The error messages comes
from /usr/share/apps/ksgmltools2/docbook/xsl/html/table.xsl:157 which is
part of kdelibs-2.2-5
relevant packages installed at time of build:
I can't reproduce this here and it works in the build system as well.
The only difference I see is that you're using an ancient version of glibc.
glibc version does not seem to matter, it breaks at the same point on 2
different machines (one based on roswell, the other RH7.0 + much of current
One interesting thing: meinproc does only barf on docbook files containing
Namely kate/index.docbook, konsole/index.docbook, kwrite/index.docbook.
The error itself comes from the <xsl:choose> block
in /usr/share/apps/ksgmltools2/docbook/xsl/html/table.xsl around the lines 141-
166, which explicitly checks for the xslparser and takes specific action
depending on the parser found. I did a quick search for adjustColumnWidths, but
didn't find any match in libxslt, libxml*, docbook-*.
Will do some further investigation.
Now we're getting somewhere:
I did a fresh reinstall of roswell on a spare box (workstation type + KDE +
"meinproc --check /usr/share/doc/HTML/en/kate/index.docbook" still breaks.
The locale was set to de_DE@euro by the installer.
I then did some testing with various locales. I unset LANG, and all of LC_
and then called meinproc with "LANG=xxx meinproc --check ...".
The results were:
Fails for: cs_CZ,de_DE,de_AT,en_DK,no_NO,pt_BR
Works for: cs,da,de,en_GB,fr,gl,it,ja,ko,nl,no
Further investigation yielded LC_NUMERIC as the culprit, it seems that
any locale that has a decimal_point other than '.' makes either meinproc or
libxslt break. This seems to be the same old bug that plagued netscape: It
produced broken postscript output for any locale with something different than
"." as the decimal point.
Fixed in 2.2-10
There's no point in fixing kdebase, since the root of the problem, usage of %f
or %g format specifiers in *printf()/*scanf() without caring for l10n, is
either in kdelibs (meinproc) oder libxml2/libxslt. My bet goes for libxml2
and/or libxslt. Fixing it in kdebase only cures the symptom, not the cause.
Created attachment 30734 [details]
Quick hack to force LC_NUMERIC in meinproc(1) to POSIX