Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 265586 - x11-libs/qt-4.5.0 installs Phonon includes in to the wrong directory
Summary: x11-libs/qt-4.5.0 installs Phonon includes in to the wrong directory
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Highest normal (vote)
Assignee: Qt Bug Alias
URL: http://www.qtsoftware.com/developer/t...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-09 22:27 UTC by Andrew Smith
Modified: 2009-12-28 11:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
/usr/include/qt4/phonon contents (qt-includes.txt,1.30 KB, text/plain)
2009-04-12 22:59 UTC, Markos Chandras (RETIRED)
Details
QtSoftware bug text (qt-phonon-bug.txt,2.06 KB, text/plain)
2009-04-18 14:47 UTC, Andrew Smith
Details
ebuild with workaround (qt-phonon-4.5.0.ebuild,1.04 KB, text/plain)
2009-04-18 23:47 UTC, Markos Chandras (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Smith 2009-04-09 22:27:29 UTC
Qt 4.5.0 installs the Phonon include into

/usr/include/qt4/phonon

However, they should all be located in

/usr/include/qt4/Phonon

(note the change in case of the P)

Reproducible: Always

Steps to Reproduce:
1. Install Qt 4.5.0
2. ls -l /usr/include/qt4/
3. Notice that there's a directory called phonon and not Phonon
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2009-04-10 13:37:39 UTC
Thanks for reporting

Why is that bad? Qt upstream chooses Phonon directory instead of phonon. Is there a specific reason for changing this?
Comment 2 Andrew Smith 2009-04-10 14:22:52 UTC
Other distributions use the upstream folder (Phonon) so when writing code if Gentoo has to have

#include <phonon/AudioOutput>

as where all other places require

#include <Phonon/AudioOutput>

it causes inconsistencies, and AFAIK there's no reason to use a different directory from upstream.
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2009-04-10 20:22:35 UTC
As I said we dont change anything from the build system

CMakeLists.txt under src/3rdparty/phonon sets the include directory to "phonon". We should we change the upstream default?

I cant see any valid reason why we should mess up with the "original" upstream build system

I am def gonna take a second look cause it seems weird to me as well 
Comment 4 Franz Trischberger 2009-04-12 08:07:28 UTC
(In reply to comment #3)
> CMakeLists.txt under src/3rdparty/phonon sets the include directory to
> "phonon". We should we change the upstream default?
> 
> I cant see any valid reason why we should mess up with the "original" upstream
> build system
qt-phonon does NOT use the CMakeLists.txt. And qt-phonon really seems to depend on "Phonon" - just look into demo/mediaplayer. qt-phonon also seems to install CamelCase-includes. Thats another reason why pure qt-phonon-apps won't compile. media-sound/phonon only installs "phonon/effetc.h", qt does "Phonon/Effect"...
And AFAIK there was also a "Phonon"-Header, that similar to QtGui included all phonon-headers.
Comment 5 Markos Chandras (RETIRED) gentoo-dev 2009-04-12 10:07:01 UTC
Ok this bug is valid. I am gonna take a more depper look on this one cause it seems critical
Comment 6 Markos Chandras (RETIRED) gentoo-dev 2009-04-12 22:59:11 UTC
Ok I spent like 3 hours on that buggie

Here is how it goes

src/phonon/Makefile specifies TARGET=phonon

all include hearder will go to $$[QT_INSTALL_HEADERS]/$$TARGET according 

src/qt_install.pri

That is /usr/include/qt4/phonon. So we are following 100% the upstream build system


Also include/Phonon specifies files like this

Eternity qt-x11-opensource-src-4.5.0 # cat include/Phonon/AbstractMediaStream
#include "abstractmediastream.h"
 
But there is not abstractmediastream.h on that folder. On the other hand include/phonon directory includes all the appropriate definitions 

How are you so sure that the other distros are following a standar way and we are not?For all I know the phonon headers installs correctly on /usr/include/qt4/phonon as I already explained. Upstream wants it that way so definitely I am not going to change the upstream build system to be compatible with the other distros

If you still think that I am wrong , you can ask Qt upstream through their mailing lists [1] or bug tracker [2]. I will be glad to see an official upstream response about this

Until then , I am pretty sure that every distro that installs headers under /usr/include/qt4/Phonon directory is changing incorrectly the upstream build system.

I am attaching my /usr/include/qt4/phonon contents to prove my conclusion :)

[1]: http://lists.trolltech.com/
[2]: http://www.qtsoftware.com/developer/task-tracker
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2009-04-12 22:59:48 UTC
Created attachment 188162 [details]
/usr/include/qt4/phonon contents
Comment 8 Andrew Smith 2009-04-13 04:47:53 UTC
Hopefully this'll work ok since i'm posting from my phone.

I asked about this in the #qt channel on freenode when i noticed all the examples used Phonon yet when i tried it I was getting file not found errors. Someone mentioned that it used to be it phonon but that changed (with 4.5.0 i believe) and the new location should be Phonon.

When I get back on my computer I'll check the logs and try and get some more info. It is strange that the example code wouldn't compile though, so I'm guessing there could (must?) be something amiss somewhere.
Comment 9 Markos Chandras (RETIRED) gentoo-dev 2009-04-13 10:30:52 UTC
Sure.

Please notice that I am not saying that Phonon is wrong. I am just saying that the build system puts all the files under 'phonon'.  If you open again a discussion with them about this, you can poke them on this bug so we can talk about it in details :)

Thanks
Comment 10 Andrew Smith 2009-04-18 14:46:24 UTC
Sorry for the delay. I've poked someone on #qt (thiago) and raised a bug on the QtSoftware task tracker. I didn't get a link for the bug so I'm attaching the text that I sent.

It seems there was a bug in Qt4.4 that installed Phonon into phonon. In Qt4.5 they install into both phonon/ and Phonon/ to make sure. I've pasted in the chat from IRC in case it's any use to you.


[Sat Apr 18 2009] [14:32:31] <EspadaV8>	if the offical build scripts install Phonon into the subdir 'phonon' how come everywhere (including the windows sdk) installs it into Phonon?
[Sat Apr 18 2009] [14:33:25] <EspadaV8>	(i've been trying to track this down along with a gentoo bug that installs it into 'phonon' and not 'Phonon' which causes a problem with I include it, since it complains on other systems)
[Sat Apr 18 2009] [14:34:09] <thiago_home>	EspadaV8: the official build scripts install Phonon headers into phonon and Phonon
[Sat Apr 18 2009] [14:34:11] <thiago_home>	both
[Sat Apr 18 2009] [14:34:21] <EspadaV8>	hmmm...
[Sat Apr 18 2009] [14:35:39] <chakie>	what is the reason for the case confusion?
[Sat Apr 18 2009] [14:35:47] <thiago_home>	we screwed up in Qt 4.4
[Sat Apr 18 2009] [14:35:56] <EspadaV8>	http://rafb.net/p/JivyhV82.html
[Sat Apr 18 2009] [14:36:03] <thiago_home>	it should have been a capital P
[Sat Apr 18 2009] [14:36:04] <EspadaV8>	that's what i have with Qt4.5 on gentoo
[Sat Apr 18 2009] [14:36:11] <thiago_home>	did you build Qt yourself?
[Sat Apr 18 2009] [14:36:12] <chakie>	thiago_home: so now you're stuck with "phonon" for a while?
[Sat Apr 18 2009] [14:36:18] <EspadaV8>	https://bugs.gentoo.org/show_bug.cgi?id=265586#c6
[Sat Apr 18 2009] [14:36:28] 	 * thiago_home doesn't care about Gentoo bugs
[Sat Apr 18 2009] [14:36:31] <EspadaV8>	and that's the response from a gentoo dev trying to see what was going on
[Sat Apr 18 2009] [14:36:34] <thiago_home>	did you build from source, using ./configure, etc.?
[Sat Apr 18 2009] [14:36:56] <EspadaV8>	thiago_home: no, this is just emerged
[Sat Apr 18 2009] [14:37:05] <EspadaV8>	but they follow the office build system
[Sat Apr 18 2009] [14:37:11] <EspadaV8>	(that comment has the info)
[Sat Apr 18 2009] [14:37:23] <thiago_home>	then build from source without emerge
[Sat Apr 18 2009] [14:38:17] <EspadaV8>	http://labs.trolltech.com/gitweb?p=qt/all;a=blob;f=src/phonon/phonon.pro;h=ec7e46adfa941b24be708fddddad4996fef5763a;hb=refs/heads/4.5
[Sat Apr 18 2009] [14:38:30] <EspadaV8>	acording to that though, TARGET = phonon
[Sat Apr 18 2009] [14:38:39] <EspadaV8>	where else does it get set to Phonon?
[Sat Apr 18 2009] [14:38:54] <thiago_home>	syncqt
[Sat Apr 18 2009] [14:39:07] 	 * thiago_home realises that the "make install" case isn't handled
[Sat Apr 18 2009] [14:39:15] <thiago_home>	as usual, because we never use it in Qt Software
[Sat Apr 18 2009] [14:39:21] <EspadaV8>	syncqt?
[Sat Apr 18 2009] [14:39:30] <thiago_home>	the script that creates include/
[Sat Apr 18 2009] [14:40:05] <EspadaV8>	ah, what do you use if not make install?
[Sat Apr 18 2009] [14:40:21] <thiago_home>	nothing
[Sat Apr 18 2009] [14:40:23] <thiago_home>	we don't install
[Sat Apr 18 2009] [14:40:37] <EspadaV8>	ah
[Sat Apr 18 2009] [14:40:52] <thiago_home>	can you send a bug report?
[Sat Apr 18 2009] [14:40:59] <EspadaV8>	so should running syncqt correct it?
[Sat Apr 18 2009] [14:41:15] <thiago_home>	syncqt only does the uninstalled dir
[Sat Apr 18 2009] [14:41:24] <thiago_home>	the installation include target is handled by qmake
Comment 11 Andrew Smith 2009-04-18 14:47:41 UTC
Created attachment 188796 [details]
QtSoftware bug text
Comment 12 Markos Chandras (RETIRED) gentoo-dev 2009-04-18 23:42:52 UTC
Great bug report. I am really looking forward to their answer. :)
Comment 13 Markos Chandras (RETIRED) gentoo-dev 2009-04-18 23:47:37 UTC
Created attachment 188840 [details]
ebuild with workaround

You can try the attached ebuild if you like. It is supposed to install headers on both phonon and Phonon folders. This is just a workaround in order to deal with this situation temporary until we have an official answer :)
If it works for you , I will add it to the tree ( but I am not happy :) )
Comment 14 Andrew Smith 2009-04-24 07:02:35 UTC
Hi, I was finally able to get that ebuild installed (I've not tried installing a custom ebuild before) and it seemed to fine. The Phonon folder only had the capitalised versions of the header files (i.e. AudioOutput and not audiooutput.h), not sre if this is planned or not, but everything still seemed to compile without a problem.

I've also got a reply back from QtSoftware, and it does look like there's a problem with build system, you can see the status at

http://www.qtsoftware.com/developer/task-tracker/index_html?id=252040&method=entry

Hopefully it'll be easily fixable :-)
Comment 15 Markos Chandras (RETIRED) gentoo-dev 2009-04-24 08:30:04 UTC
Great :)

So I ll try to include this workaround on qt-phonon-4.5.1 which will be on portage really soon

We ll keep this bug open until the upstream bug closes

Thanks :)
Comment 16 Dror Levin (RETIRED) gentoo-dev 2009-08-01 18:44:16 UTC
Looks like the fix is in the tree in x11-libs/qt-phonon-4.5.{1,2}.
Comment 17 Dror Levin (RETIRED) gentoo-dev 2009-08-01 18:46:23 UTC
Ok, that was really stupid of me. TODO: learn to read. Sorry.
Comment 18 Davide Pesavento (RETIRED) gentoo-dev 2009-11-17 23:59:51 UTC
New URL for upstream bug report:
http://bugreports.qt.nokia.com/browse/QTBUG-3983
Comment 19 Ben de Groot (RETIRED) gentoo-dev 2009-12-28 06:22:46 UTC
The upstream bug got closed as invalid. The correct location is 
/usr/include/qt4/phonon

Ergo closing this one as invalid as well.
Comment 20 Davide Pesavento (RETIRED) gentoo-dev 2009-12-28 11:13:38 UTC
Just for the record, in this mail to kde-multimedia Thiago explains the huge mess they've done with qt-phonon headers...
http://lists.kde.org/?l=kde-multimedia&m=126045273702498&w=2