Bug 512677 - qt Phonon header files in a wrong path - failed to build WebKit for qt
Summary: qt Phonon header files in a wrong path - failed to build WebKit for qt
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: qt
Version: 11
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-20 11:09 UTC by Jaroslav Franek
Modified: 2009-07-21 13:50 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-07-20 13:18:19 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jaroslav Franek 2009-07-20 11:09:37 UTC
Description of problem:
Failed to compile WebKit with qt. It seems that Phonon's headers are not where they should be.

The WebKit's source file
./WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp

includes the following headers:

#include <Phonon/AudioOutput>
#include <Phonon/MediaObject>
#include <Phonon/VideoWidget>

However these files do not exists even when having phonon-devel and qt-devel installed. phonon-devel does not include those files for sure. qt-devel includes these files, but they are installed into

/usr/include/phonon

where they are mixed with include files from phonon-devel.

Since Linux ext file system is case sensitive the headers are not found when compiling the WebKit.

I guess that qt shall install the phonon header files into

/usr/include/Phonon

(it is normal for qt to use BigCamelCase directories for BigCamelCase headers)

Temporary workaround exists, but it is not preferred solution:
# ln -s /usr/include/phonon /usr/include/Phonon



Version-Release number of selected component (if applicable):
qt-devel-4.5.0-14


How reproducible:
-


Steps to Reproduce:
1. checkout latest WebKit sources from svn
2. build with --qt, and set the qmake to be qmake-qt4 (I cannot remember the exact command line..)
3. 
  
Actual results:
Build fails. Spree of syntax errors due to missing header files (incomplete types, etc.) 


Expected results:
clean compile of WebKit

Additional info:

Comment 1 Rex Dieter 2009-07-20 13:18:19 UTC
That's precisely what phonon-devel is for.

Fwiw, our current plans are to switch to qt's phonon when we update to qt-4.5.3

Comment 2 Jaroslav Franek 2009-07-21 08:23:45 UTC
WebKit does not build, so there is some problem. Do you say then that the issue is in WebKit source files or include paths?

In qt sources the Phonon has uppercase P and also lowercase p:
qt-x11-opensource-src-4.5.1/include/Phonon/...  (SomeHeader)
qt-x11-opensource-src-4.5.1/include/phonon/...  (someheader.h)

3rd party software will continue to include "Phonon/SomeHeader" because qt provides "Phonon/SomeHeader". Fedora should not break the line by using "phonon" for both the sets of the header files.

This is my objection and the reason for this bug report.

Comment 3 Kevin Kofler 2009-07-21 12:17:39 UTC
Rex Dieter is saying the headers you need are in phonon-devel.

Comment 4 Rex Dieter 2009-07-21 12:39:34 UTC
Yep,

$ sudo repoquery--whatprovides /usr/include/KDE/Phonon
phonon-devel-0:4.3.1-6.fc11.x86_64

Comment 5 Jaroslav Franek 2009-07-21 13:50:48 UTC
All right, I get it. It was just very confusing. The path is 

/usr/include/KDE/Phonon/AudioOutput    (phonon-devel)

but also there is (a bit of duplicity):

/usr/include/phonon/AudioOutput        (qt-devel)

3rd party (WebKit) expects

/usr/include/Phonon/AudioOutput

(life is sometimes not easy with case sensitive file systems...).

Rex mentioned switching to qt's phonon which I understood as the end of separate phonon, phonon-devel rpms. Probably (or most likely) this will get rid of the duplicity, which is the right move. But I do not know what will remain so I tried to advocate for /usr/include/Phonon for the UpperCamelCase headers as some 3rd party OSS may require that.

Thanks for your time,
no more complaints :-)


Note You need to log in before you can comment on or make changes to this bug.