About Phonon in Qt 4.6.1
Alessandro Ghersi
alessandro-ghersi at kubuntu.org
Fri Jan 29 23:32:59 GMT 2010
Hi, Phonon headers path is changed in Qt 4.6.1, this change is made by Thiago:
****************************************************************************
* Important Behavior Changes *
****************************************************************************
- Phonon
* Include headers have been changed. The only official method for
including Phonon headers is <phonon/ClassName> or
<phonon/classname.h>. This change was necessary because of
frameworks on Mac.
Compatibility is provided for <Phonon/*> includes, but is not
guaranteed to work. Including <phonon> and <Phonon> is not
supported.
****************************************************************************
At the moment, we built Qt + Sandsmark's patch to ensure Phonon is update with
KDE's phonon, since KDE wants that. KDE developer doesn't want comply the
change made by Thiago for the Phonon headers. So, kdebase-runtime will fail to
build against Qt 4.6.1, as you see:
http://pastebin.ca/1770960
because runtime looking for Phonon/ObjectDescription instead of
phonon/ObjectDescription
I talk about this issue with Thiago, I paste here the conversation:
####
<Lex79> hi thiago I'm sorry for the disturb, I think you are always busy :)
I'm kubuntu developer and I write in #kde-devel the issue that it's come from
building kdebase-runtime against Qt 4.6.1
<Lex79> I don't know if you' read that, btw:
<Lex79> <Lex79> Hi, kdebase-runtime in branch, is updated to comply this
change in Qt 4.6.1 http://pastebin.ca/1770956 ?
<Lex79> <Lex79> it seems not since I have this issue to building runtime
against Qt 4.6.1 http://pastebin.ca/1770960
<Lex79> <Lex79> the problem is Phonon/ObjectDescription and Phonon/* that are
changed to phonon/* (lowercase)
<Lex79> <Lex79> in qt 4.6.1
<Lex79> <Lex79> in Kubuntu we building phonon from Qt and we have sandsmark
patch for KDE phonon
<Lex79> <Lex79> btw the phonon headers are those http://git.debian.org/?p=pkg-
kde/qt4-x11.git;a=blob_plain;f=debian/libphonon-
dev.install;hb=3b139eb815fc90cc7ad18c22038e449a23582196
<Lex79> <Lex79> and come from phonon in Qt 4.6.1
<Lex79> Thanks
<thiago> you've got the description
<thiago> it has to be a lowercase p
<Lex79> I'm come back, well I know, but seems kde developers doesn't
<Lex79> and I'm not a kde developer :P
<Lex79> can you poke someone to fix that?
<Lex79> in kdebase-runtime I mean
<thiago> it won't be fixed
<thiago> it's a source-incompatible change
<thiago> I've notified kde-multimedia that Qt was going to break source
compatibility
<thiago> KDE has not pronounced itself on the subject.
<Lex79> uhmm perfect
<Lex79> so it's a distro problem now
<thiago> I recommend you use KDE's Phonon package
<thiago> it's more up-to-date anyway
<Lex79> we use Qt phonon
<Lex79> with sandsmark patch
<thiago> most KDE apps and KDE developers don't ever test or use Qt's Phonon
<thiago> you're asking for trouble
<Lex79> so, what is your advice? Build KDE core packages against KDE's phonon?
and for apps which use Qt's phonon?
<Lex79> it's a bit mess....
<thiago> none
<thiago> just use Phonon everywhere
<thiago> I meant KDE's Phonon everywhere
<Lex79> well, thanks, I will talk with others Kubuntu developers
<Lex79> thanks
<thiago> you're welcome
<Lex79> just for to be sure, you mean also build Qt's Phonon but not install
it in the distro, and don't build anything against it? right?
<thiago> if you had the option, I'd recommend build Qt with -no-phonon
<Lex79> ok
<thiago> but if you do that, QtWebKit will be built without <audio> and
<video> support
<thiago> so don't do it
<thiago> build Qt's Phonon, but don't install it
<Lex79> uhm, ok :)
#####
Premise:
1) I know that KDE's Phonon will be part of Qt 4.7.0.
2) Wait a patch from one only KDE developer (sandsmark) it's a bit mess for
every Qt bugfixes release.
So, what we do?
1) The easy fix is do the symlinks in libphonon-dev.install in qt4-x11
package.
2) Do the patch for kdebase-runtime and anywhere is needs
3) Do what Thiago said (build KDE's Phonon and build all packages against
that, build Qt's Phonon for webkit but don't install Phonon from Qt)
I think we need a decision...any suggestions?
Thanks
Lex
More information about the kubuntu-devel
mailing list