Bug 338898 - Linking error when using gcc-4.9.1 when building phonon-backend-gstreamer-4.8.0
Summary: Linking error when using gcc-4.9.1 when building phonon-backend-gstreamer-4.8.0
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: phonon-backend-gstreamer
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: 4.8
Assignee: Daniel Vrátil
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-08 10:09 UTC by Christopher
Modified: 2014-09-08 20:26 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Output of Compile on screen (99.00 KB, text/x-log)
2014-09-08 14:42 UTC, Christopher
Details
comdenced log of build (49.55 KB, text/x-log)
2014-09-08 14:44 UTC, Christopher
Details
updated screen dump (55.72 KB, text/x-log)
2014-09-08 16:21 UTC, Christopher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher 2014-09-08 10:09:21 UTC
Hello,

When attempting to build this from source code it gets through the make process and immediately fails on the linking:

Linking CXX shared module phonon_gstreamer.so
CMakeFiles/phonon_gstreamer.dir/mediaobject.cpp.o: In function `Phonon::Gstreamer::MediaObject::changeSubUri(Phonon::Mrl const&)':
mediaobject.cpp:(.text+0xa89): undefined reference to `Phonon::Mrl::toEncoded(QFlags<QUrl::FormattingOption>) const'
CMakeFiles/phonon_gstreamer.dir/pipeline.cpp.o: In function `.L1582':
pipeline.cpp:(.text+0x627b): undefined reference to `Phonon::Mrl::toEncoded(QFlags<QUrl::FormattingOption>) const'
collect2: error: ld returned 1 exit status
gstreamer/CMakeFiles/phonon_gstreamer.dir/build.make:657: recipe for target 'gstreamer/phonon_gstreamer.so' failed
make[2]: *** [gstreamer/phonon_gstreamer.so] Error 1
CMakeFiles/Makefile2:109: recipe for target 'gstreamer/CMakeFiles/phonon_gstreamer.dir/all' failed
make[1]: *** [gstreamer/CMakeFiles/phonon_gstreamer.dir/all] Error 2
Makefile:117: recipe for target 'all' failed

Reproducible: Always
Comment 1 Christopher 2014-09-08 10:21:26 UTC
This is on a 32bit build.
With gstreamer-1.4.1 installed
and quicktime 4.8.6
Comment 2 Harald Sitter 2014-09-08 13:22:32 UTC
This sounds an awful lot like it is not actually linking against a >=4.7.0 libphonon.

Please wipe your build dir, turn on verbose make files in cmake and attach a complete build log to the bug report
Comment 3 Christopher 2014-09-08 14:42:45 UTC
Created attachment 88614 [details]
Output of Compile on screen
Comment 4 Christopher 2014-09-08 14:44:56 UTC
Created attachment 88615 [details]
comdenced log of build
Comment 5 Christopher 2014-09-08 14:52:31 UTC
Before this,  the configure was not able to find:

PhononConfig.cmake

This appears to have been named:
Phonon4Qt5Config.cmake

So the only way to actually proceed to actually being able to attempt make was to do:

cp  Phonon4Qt5Config.cmake PhononConfig.cmake
Comment 6 Christopher 2014-09-08 16:21:27 UTC
Created attachment 88617 [details]
updated screen dump
Comment 7 Christopher 2014-09-08 16:25:27 UTC
I just recompiled and re-installed phonon-4.8.0 without also building against qt5 which I also have installed and it solved the previous issue of not being able to find PhononConfig.cmake, but still did not solve the linking error.

I have uploaded an updated screendump.

It seems that this version of phonon is not able to build against qt4 and qt5 at the same time.
Comment 8 Harald Sitter 2014-09-08 17:12:51 UTC
http://people.ubuntu.com/~apachelogger/phonon/phonon4qt5.html

note the -DPHONON_BUILD_PHONON4QT5=ON flag, it needs to be used for every part of phonon that is supposed to be built for qt5
Comment 9 Christopher 2014-09-08 17:43:22 UTC
Hello,

I already knew that and had already done that.  It still does not resolve the linking issue either way.

I specifically went back to ONLY using qt4.  There is a build failure on this that will NOT go away.

The previous version of phonon etc worked without any issue.  This build does not.  I do not know how to solve this which is why I have opened a bug report.
Comment 10 Harald Sitter 2014-09-08 20:26:21 UTC
That seems highly unlikely given that the link error is about phonon4qt5 being found/used by cmake with phonon finding/using qt4. So in order for it not to work it would the other way around have to find/use phonon and find/use qt5, which again only depends on the cmake qt5 cmake flag mentioned.

Please provide a new log with qt4 :)