Kdebase-3.5.10 Compile error

Loren Foret lforet060986 at bellsouth.net
Thu Jul 2 00:41:55 PDT 2009

I hope someone can help me with this. I have been following the LFS svn and
BLFS pre 6.4 tracks and now I am having issues compiling kdebase

Here is my base config (notice I pushed gcc to the svn release to try to
rule it out)

root [ ~ ]# uname -r
root [ ~ ]# cc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/usr
Thread model: posix
gcc version 4.4.1 20090623 (prerelease) (GCC)

And a snip of the compile log where it failed:

Making all in kfontinst
make[4]: Entering directory
g++ -DHAVE_CONFIG_H -I. -I../../..  -DOS_Linux -I./../lib -I./../../fonts
-I/opt/kde/include -I/opt/qt/include -I.  -I/usr/include/freetype2
-Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align
-Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2
-Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor
-fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE
-D_GNU_SOURCE  -c -o Fontmap.o Fontmap.cpp
Fontmap.cpp: In function 'bool parseLine(const char*, QString&, QString&,
Fontmap.cpp:68: error: invalid conversion from 'const char*' to 'char*'
Fontmap.cpp: In function 'void addEntry(QStringList&, const QString&, const
QString&, const QString&)':
Fontmap.cpp:199: warning: suggest explicit braces to avoid ambiguous 'else'
Fontmap.cpp: In function 'QString locateFile(const char*, const char*,
Fontmap.cpp:256: warning: suggest explicit braces to avoid ambiguous 'else'
make[4]: *** [Fontmap.o] Error 1
make[4]: Leaving directory
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/Desktop/kdebase-3.5.10/kcontrol/kfontinst'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Desktop/kdebase-3.5.10/kcontrol'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Desktop/kdebase-3.5.10

I looked at this code segment in question in Fontmap.cpp and at line 68 I
see this:

char *slash1=strchr(line, '/'),
         *space1=slash1 ? findSpace(slash1) : NULL, //strchr(slash1, '

I couldn't figure out how to change this particular line so further up I see

static bool parseLine(const char *line, QString &ps, QString &fname, bool

And attempted to change it to:

static bool parseLine(char *line, QString &ps, QString &fname, bool

And it compiles fine but now I think by doing this I am damaging KDE.
Konqueror crashes when I visit any site but google and Firefox 3.5.11
displays everything in huge fonts. I tried a userChrome.css script to fix
firefox but that does not work. If my memory serves me right wasn't there a
lot of C++ rule changes after gcc 3.3? I doubt this is a programming error
but I am not good enough to figure this out

Help please o wise and kind group

Loren Foret
Lforet060986 at bellsouth.net

More information about the blfs-support mailing list