In rebuilding a number of KDE packages for gcc 4. It would appear that
there is an issue with KDE_ENABLE_HIDDEN_VISIBILITY, which is generally
swtiched on in configure.in.in.
The short fix appears to delete/comment out this switch as there are
issues with gcc 4.
Thought I would post this here as it took me a while looking on upstream
sites to find it if people are having issues building. Errors are
Has anyone else seen this and should be we doing something about it
across the Debian board?
To UNSUBSCRIBE, email to [email]debian-kde-REQUEST@lists.debian.org[/email]
with a subject of "unsubscribe". Trouble? Contact [email]email@example.com[/email]
On August 20, 2005 16:23, Mark Purcell wrote:[color=blue]
> In rebuilding a number of KDE packages for gcc 4. It would appear that
> there is an issue with KDE_ENABLE_HIDDEN_VISIBILITY, which is generally
> swtiched on in configure.in.in.
> The short fix appears to delete/comment out this switch as there are
> issues with gcc 4.
> Thought I would post this here as it took me a while looking on upstream
> sites to find it if people are having issues building. Errors are
> missing typeinfo...
> Has anyone else seen this and should be we doing something about it
> across the Debian board?[/color]
Yes, thanks for bringing this up. Everyone who maintains a KDE package,
please read on.
GCC 4.0 has introduced a nifty feature, symbol visibility hiding, that
promises to improve the performance of KDE applications, particularly load
times (it does other things, but this is probably why people have heard of
it). 'man gcc' has a good paragraph on it.
KDE 3.4 has acquired a measure of support for this feature, as have a great
many unofficial KDE applications, and those that haven't yet probably will
For anything based on Qt3 (and therefore everything KDE) to work properly
with this feature, Qt must be specially patched. The Qt3 presently in Sid
does not have this patch. Since the new visibility feature is still causing
a lot of problems (build issues and strange PIC/non-PIC head-scratchers),
we don't plan to enable its use in the immediate future. Perhaps KDE 3.5
will improve matters. Please note that even if/when Qt3 does acquire
support, you should not immediately assume that it is time to enable this
feature for your packages, since you'll want to wait for KDE (or at least
kdelibs) to be rebuilt to make sure all is well, and then you'll still have
to make a judgment call about the state of your own packages.
The latest versions of the KDE build infrastructure (the admin folder,
basically) check whether or not the Qt present on the system is patched to
support the new visibility feature. Other versions of the build system
either don't have this check, or have a broken check. I've never seen
a ./configure option to enable or disable the visibility feature, though
you may very well get ./configure output telling you whether of not the
visibility support has been enabled or disabled. It is therefore up to all
maintainers of KDE packages to examine his or her own packages carefully,
and if necessary to rip out the relevant parts from acinclude.m4.in and/or
configure.in.in. Then you must regenerate the autotool build files manually
("make -f admin/Makefile.common dist") or ensure that they get regenerated
at build time. You'll know if your package is attempting to build with this
feature enabled if the build logs contain the following flags:
"-fvisibility=hidden" and "-fvisibility-inlines-hidden".
The core KDE packages of the upcoming gcc-4.0 generation are patched to
ensure that the symbol visibility feature is not used. This very simple
patch, for those interested in an example of how we managed, is available
in the pkg-kde alioth subversion repository, at
Cheers and good luck,
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Signed by Christopher Martin <firstname.lastname@example.org>
-----END PGP SIGNATURE-----