[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: kdebase-runtime links to Qt's phonon rather than to KDE's phonon
From:       Angel Tsankov <fn42551 () fmi ! uni-sofia ! bg>
Date:       2010-07-03 8:49:28
Message-ID: i0mtj7$16l$2 () dough ! gmane ! org
[Download RAW message or body]

Ben Cooksley wrote:
> On Sat, Jul 3, 2010 at 5:14 PM, Angel Tsankov <fn42551@fmi.uni-sofia.bg> wrote:
>> Trent Shea wrote:
>>> On Friday 02 July 2010 03:35:28 Angel Tsankov wrote:
>>>>> I don't believe this is necessary. I have both versions of phonon, and
>>>>> always  have.
>>>> And you don't have any problem?!  Tell us how you do it, please.  I am
>>>> particularly interested in where you install Qt, do you install it from
>>>> source or is it pre-built and how you configure kde packages.
>>> I don't imagine this to be an exotic setup, I'm sure others can add success
>>> stories to this thread. Anyhow, I build qt and kde from source, installing to
>>> /opt/qt and /opt/kde. I pass "-DCMAKE_INSTALL_PREFIX=/opt/kde -
>>> DCMAKE_BUILD_TYPE=RelWithDebInfo -DPHONON_INCLUDE_DIR=/opt/kde/include -
>>> DPHONON_LIBRARY=/opt/kde/lib/libphonon.so" to all kde packages; that's it,
>>> nothing crazy. That said, I don't build everything so maybe this config does
>>> break somewhere (polkit comes to mind...)
>>>
>>> Current versions:
>>>
>>> kde packages are from 4.4 branch
>>> ii  kdeadmin                  1141471
>>> ii  kdeartwork                1141471
>>> ii  kdebase                   1141471
>>> ii  kdegraphics               1141471
>>> ii  kdelibs                   1141471
>>> ii  kdemultimedia             1141471
>>> ii  kdenetwork                1141471
>>> ii  kdepim                    1141471
>>> ii  kdepimlibs                1141471
>>> ii  kdeplasma-addons          1141471
>>> ii  kdesdk                    1141471
>>> ii  kdeutils                  1141471
>>> ii  qt                        4.6.3
>> Could you try building KDE packages *without*
>> -DPHONON_INCLUDE_DIR=/opt/kde/include and
>> -DPHONON_LIBRARY=/opt/kde/lib/libphonon.so?  If the build fails, then
>> these options are crucial; otherwise, they are redundant.
>>
>> I remember running ccmake on a failed build of kdebase-runtime and it
>> showed that PHONON_INCLUDE_DIR and PHONON_LIBRARY both point to the
>> newer version of phonon in /usr/{include,lib}, respectively; and
>> QT_PHONON_INCLUDE_DIR and QT_PHONON_LIBRARY pointed to the older older
>> (Qt's) phonon below below /opt/qt/qt.
> 
> I have never had a problem such as this before, and I install KDE
> Phonon and Qt to different prefixes.
> 
> ben@grace:~/kdesvn/build/phonon> cat CMakeCache.txt | grep INSTALL
> CMAKE_INSTALL_PREFIX:PATH=/opt/trunk-kde/kde
> 
> Please see below for some of the environment variables I set, which
> may help you.
> 
> export PATH="${KDEDIR}/bin:${QTDIR}/bin:${PATH}"
> export LD_LIBRARY_PATH="${KDEDIR}/lib:${QTDIR}/lib"
> export CMAKE_PREFIX_PATH="${KDEDIR}:${QTDIR}"
> export PKG_CONFIG_PATH="${KDEDIR}/lib/pkgconfig:${KDEDIR}/share/pkgconfig:${QTDIR}/lib/pkgconfig"

I'm beginning to wonder whether installing KDE in standard locations, 
such as /usr/include and /usr/lib, could be causing all the troubles...

I would also like to draw your attention to that piece of the output 
(when building with VERBOSE=1) that immediately precedes the error:

Linking CXX shared module ../../lib/kcm_phonon.so
cd
/etc/pupm/home/kdebase-runtime/tmp.U3C/kdebase-runtime-4.4.5/phonon/kcm
&& /usr/bin/cmake -E cmake_link_script
CMakeFiles/kcm_phonon.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef
-Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith
-Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new
-fno-common -Woverloaded-virtual -fno-threadsafe-statics
-fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG
-DQT_NO_DEBUG -Wl,--enable-new-dtags -Wl,--fatal-warnings
-Wl,--no-undefined -lc  -shared -Wl,-soname,kcm_phonon.so -o
../../lib/kcm_phonon.so CMakeFiles/kcm_phonon.dir/kcm_phonon_automoc.o
CMakeFiles/kcm_phonon.dir/main.o
CMakeFiles/kcm_phonon.dir/devicepreference.o
CMakeFiles/kcm_phonon.dir/backendselection.o -L/opt/qt/qt/lib -lphonon
/usr/lib/libkutils.so.4.4.0 /usr/lib/libkio.so.5.4.0
/usr/lib/libkdeui.so.5.4.0 /usr/lib/libkdecore.so.5.4.0
/opt/qt/qt/lib/libQtDBus.so /opt/qt/qt/lib/libQtCore.so -lpthread
/opt/qt/qt/lib/libQtSvg.so /opt/qt/qt/lib/libQtGui.so
/opt/qt/qt/lib/libQtNetwork.so /opt/qt/qt/lib/libQtXml.so
-Wl,-rpath,/opt/qt/qt/lib:::::::::

Please, note that -lphonon is used to specify that libphonon.so is to be 
linked to rather than -l/usr/lib/libphonon.so as the case is with other 
libs.  This is strange, because this way libphonon.so will first be 
searched for in the paths given to the -L options, and then in /usr/lib. 
  This means that with -lphonon the linker will always pick up Qt's 
version of phonon (because -L/opt/qt/qt/lib is needed for any Qt libs, 
isn't it?).  Am I getting this library stuff right?


Regards,
Angel Tsankov

 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic