Subject: Kde 3.4 and fontconfig (NetBSD-3.99.1 i386)
To: None <tech-pkg@NetBSD.org>
From: Sverre Froyen <sverre@viewmark.com>
List: tech-pkg
Date: 03/27/2005 10:02:36
Hi,

With sources from 24 March, I did a complete recompile of the system 
(including X) and Kde 3.4 (including sub-packages).  Initially, Kde was 
working OK although I did notice jaggedness in most fonts.  I then ran 
"fc-cache -f" (from /usr/pkg/bin) and after that, all characters 
rendered as empty squares.  Running "/usr/X11R6/bin/fc-cache -f" 
corrected the rendering problem.  I looks like fontconfig in X11R6 is 
older that fontconfig in pkgsrc (libfontconfig.so.1.0 vs. 
libfontconfig.so.1.0.4).  The config files are also imcompatible.  It 
looks like most Kde applications are using libraries from 
both /usr/pkg/lib and from /usr/X11R6/lib.  For instance:

$ ldd /usr/pkg/bin/konsole
/usr/pkg/bin/konsole:
        -lz.0 => /usr/lib/libz.so.0
        -lm.0 => /usr/lib/libm387.so.0
        -lm.0 => /usr/lib/libm.so.0
        -lpng.3 => /usr/pkg/lib/libpng.so.3
        -lGL.1 => /usr/pkg/lib/libGL.so.1
        -lX11.6 => /usr/X11R6/lib/libX11.so.6
        -lICE.6 => /usr/X11R6/lib/libICE.so.6
        -lSM.6 => /usr/X11R6/lib/libSM.so.6
        -lXt.6 => /usr/X11R6/lib/libXt.so.6
        -lXext.6 => /usr/X11R6/lib/libXext.so.6
        -lXmu.6 => /usr/X11R6/lib/libXmu.so.6
        -lXrender.1 => /usr/pkg/lib/libXrender.so.1
        -lXrandr.2 => /usr/pkg/lib/libXrandr.so.2
        -lXfixes.0 => /usr/pkg/lib/libXfixes.so.0
        -lXcursor.1 => /usr/pkg/lib/libXcursor.so.1
        -lXinerama.1 => /usr/X11R6/lib/libXinerama.so.1
        -lfreetype.6 => /usr/pkg/lib/libfreetype.so.6
        -lexpat.0 => /usr/pkg/lib/libexpat.so.0
        -lfontconfig.1 => /usr/pkg/lib/libfontconfig.so.1
        -lXft.2 => /usr/pkg/lib/libXft.so.2
        -lstdc++.5 => /usr/lib/libstdc++.so.5
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
        -lpthread.0 => /usr/lib/libpthread.so.0
        -lqt-mt.3 => /usr/pkg/qt3/lib/libqt-mt.so.3
        -lintl.0 => /usr/lib/libintl.so.0
        -lDCOP.4 => /usr/pkg/lib/libDCOP.so.4
        -lresolv.1 => /usr/lib/libresolv.so.1
        -lutil.7 => /usr/lib/libutil.so.7
        -lart_lgpl_2.2 => /usr/pkg/lib/libart_lgpl_2.so.2
        -lkdefx.4 => /usr/pkg/lib/libkdefx.so.4
        -lkdecore.4 => /usr/pkg/lib/libkdecore.so.4
        -lkdeui.4 => /usr/pkg/lib/libkdeui.so.4
        -lkdesu.4 => /usr/pkg/lib/libkdesu.so.4
        -lkwalletclient.1 => /usr/pkg/lib/libkwalletclient.so.1
        -lkio.4 => /usr/pkg/lib/libkio.so.4
        -lkparts.2 => /usr/pkg/lib/libkparts.so.2
        -lkdeprint.4 => /usr/pkg/lib/libkdeprint.so.4
        -lXtst.6 => /usr/X11R6/lib/libXtst.so.6
        -lkdeinit_konsole => /usr/pkg/lib/libkdeinit_konsole.so
        -lGL.1 => /usr/X11R6/lib/libGL.so.1
        -lXrender.1 => /usr/X11R6/lib/libXrender.so.1
        -lXrandr.2 => /usr/X11R6/lib/libXrandr.so.2
        -lXcursor.1 => /usr/X11R6/lib/libXcursor.so.1
        -lXft.2 => /usr/X11R6/lib/libXft.so.2
        -lfontconfig.1 => /usr/X11R6/lib/libfontconfig.so.1
        -lc.12 => /usr/lib/libc.so.12

is referencing libfontconfig.so.1 in both places and the same for libXft 
and libXrender.  In an attempt to provide the applications with a 
consistent fontconfig library, I copied the libfontconfig files 
from /usr/pkg/lib to /usr/X11R6/lib (obviously a not very elegant 
solution).

Questions:

Is my concern about applications using different versions of the same 
library a non-issue (but notice the effect of running fc-cache)?

Is there a way to avoid this (besides copying from /usr/pkg/lib 
to /usr/X11R6/lib)?

Is the jaggedness that I still observe related to this issue?

Thanks,

Sverre