Bug 512677 - qt Phonon header files in a wrong path - failed to build WebKit for qt
qt Phonon header files in a wrong path - failed to build WebKit for qt
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: qt (Show other bugs)
11
All Linux
low Severity high
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-20 07:09 EDT by Jaroslav Franek
Modified: 2009-07-21 09:50 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-07-20 09:18:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Jaroslav Franek 2009-07-20 07:09:37 EDT
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 09:18:19 EDT
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 04:23:45 EDT
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 08:17:39 EDT
Rex Dieter is saying the headers you need are in phonon-devel.
Comment 4 Rex Dieter 2009-07-21 08:39:34 EDT
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 09:50:48 EDT
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.