On Tuesday, 23. August 2005 21:25, Michael Nottebrock wrote:
> On Tuesday, 23. August 2005 21:20, Michael Nottebrock wrote:
> > On Tuesday, 23. August 2005 14:44, Lauri Watts wrote:
> > > On Tuesday 23 August 2005 13:12, Anthony Ginepro wrote:
> >
> > It already is - if you applied the patch for Qt3 visibility patch from
> > KDE (it's available via bugs.kde.org, I currently cannot remember the
> > bugnumber however)
>
> Looked it up now: It's Bug 109386 and the patch is
> http://bugs.kde.org/attachment.cgi?id=11863&action=view

And another postscriptum: This patch does *not* make Qt3 itself compatible 
with gcc4's -fvisibility options - it just prevents rather obscure runtime 
bugs in some KDE applications if KDE is compiled with visibility enabled.

Do *not* attempt to compile Qt3 itself with visibility flags! Do *not* put 
-fvisibility=hidden or similar things into your CFLAGS/CXXFLAGS!

The quickest way to get a gcc4-compiled & visibility-optimized KDE would be 
something like this (and remember what I wrote earlier about the performance 
increase you can expect before you embark on that):

- Install lang/gcc40 or lang/gcc41 (my recommendation would be lang/gcc40, 
since KDE is completely untested with gcc41 - on any platform).

- Set CC to gcc40 and CXX to g++40 - /etc/make.conf is a good place to do 
this, but you could also set those on portinstall/portupgrade commandlines or 
on make command lines.

- Reinstall devel/qmake. This is important - x11-toolkits/qt33 will be 
compiled with the CC, CXX, CFLAGS and CXXFLAGS set at the time qmake was 
compiled, so it's essential to recompile and reinstall it with CC/CXX already 
set to gcc40/g++40.

- make extract in x11-toolkits/qt33 and apply the visibility patch mentioned 
above, then go on with make, make deinstall, make install, make clean to 
recompile and reinstall Qt3. Again, this step is important - KDE will refuse 
to enable the visibility flags if it doesn't detect that Qt3 has been 
patched.

- Then portupgrade -f arts\* kde\*. Again, do *not* force 
-fvisibility=anything into CFLAGS/CXXFLAGS yourself. KDE's configure checks 
will automatically set those. Check the configure out put for 

checking whether g++40 supports -fvisibility=hidden... 
checking if Qt is patched for -fvisibility... 

lines. Both results need to be "yes".

-- 
   ,_,   | Michael Nottebrock               | [EMAIL PROTECTED]
 (/^ ^\) | FreeBSD - The Power to Serve     | http://www.freebsd.org
   \u/   | K Desktop Environment on FreeBSD | http://freebsd.kde.org

Attachment: pgpAjKnKxXD76.pgp
Description: PGP signature

_______________________________________________
kde-freebsd mailing list
[email protected]
http://freebsd.kde.org/mailman/listinfo/kde-freebsd

Reply via email to