# kaffeine kompiliert nicht seit kde-4.8 [solved]

## Randy Andy

Abend Leute.

Seitdem ich kde-4.8 installiert habe, kann ich auf Zwei PCs das bereits installierte kaffeine nicht mehr kompilieren. Es handelt sich um ~32 und ~64 Systeme.

Es gibt diesbezüglich noch keine Bugreports und aufgrund der Xine-Fehlermeldung bin ich etwas unsicher ob's nicht an was spezifischem meiner Installation liegen könnte.

Habt ihr da villeicht noch ne Idee?

Revdep-rebuild ok, alle bereits installierten xine-pakete nochmal gebaut, downgrade von Cmake testweise gemacht, alles nix gebracht, durchgeführt auf meinem ~64-bit system, die logs sind jetzt aber vom 32-bit

 system auf dem ich ja das gleiche Problem hab...

Hier die Fehlerinfo:

```

>>> Emerging (1 of 1) media-video/kaffeine-1.2.2

 * kaffeine-1.2.2.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                             [ ok ]

>>> Unpacking source...

>>> Unpacking kaffeine-1.2.2.tar.gz to /var/tmp/portage/media-video/kaffeine-1.2.2/work

>>> Source unpacked in /var/tmp/portage/media-video/kaffeine-1.2.2/work

>>> Preparing source in /var/tmp/portage/media-video/kaffeine-1.2.2/work/kaffeine-1.2.2 ...

>>> Enabling languages:  de

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/media-video/kaffeine-1.2.2/work/kaffeine-1.2.2 ...

>>> Working in BUILD_DIR: "/var/tmp/portage/media-video/kaffeine-1.2.2/work/kaffeine-1.2.2_build"

cmake --no-warn-unused-cli -C /var/tmp/portage/media-video/kaffeine-1.2.2/temp/gentoo_common_config.cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDE4_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DBUILD_DEBUG_MODULE=OFF -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/media-video/kaffeine-1.2.2/temp/gentoo_rules.cmake  /var/tmp/portage/media-video/kaffeine-1.2.2/work/kaffeine-1.2.2

Not searching for unused variables given on the command line.

loading initial cache file /var/tmp/portage/media-video/kaffeine-1.2.2/temp/gentoo_common_config.cmake

-- The C compiler identification is GNU

-- The CXX compiler identification is GNU

-- Check for working C compiler: /usr/bin/i686-pc-linux-gnu-gcc

-- Check for working C compiler: /usr/bin/i686-pc-linux-gnu-gcc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: /usr/bin/i686-pc-linux-gnu-g++

-- Check for working CXX compiler: /usr/bin/i686-pc-linux-gnu-g++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Looking for Q_WS_X11

-- Looking for Q_WS_X11 - found

-- Looking for Q_WS_WIN

-- Looking for Q_WS_WIN - not found.

-- Looking for Q_WS_QWS

-- Looking for Q_WS_QWS - not found.

-- Looking for Q_WS_MAC

-- Looking for Q_WS_MAC - not found.

-- Found Qt-Version 4.7.4 (using /usr/bin/qmake)

-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so

-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so;/usr/lib/libXpm.so - found

-- Looking for gethostbyname

-- Looking for gethostbyname - found

-- Looking for connect

-- Looking for connect - found

-- Looking for remove

-- Looking for remove - found

-- Looking for shmat

-- Looking for shmat - found

-- Looking for IceConnectionNumber in ICE

-- Looking for IceConnectionNumber in ICE - found

-- Found X11: /usr/lib/libX11.so

-- Looking for include files CMAKE_HAVE_PTHREAD_H

-- Looking for include files CMAKE_HAVE_PTHREAD_H - found

-- Looking for pthread_create in pthreads

-- Looking for pthread_create in pthreads - not found

-- Looking for pthread_create in pthread

-- Looking for pthread_create in pthread - found

-- Found Threads: TRUE 

-- Looking for _POSIX_TIMERS

-- Looking for _POSIX_TIMERS - found

-- Found Automoc4: /usr/bin/automoc4 

-- Found Perl: /usr/bin/perl 

-- Found Phonon: /usr/include 

-- Performing Test _OFFT_IS_64BIT

-- Performing Test _OFFT_IS_64BIT - Failed

-- Performing Test HAVE_FPIE_SUPPORT

-- Performing Test HAVE_FPIE_SUPPORT - Success

-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL

-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success

-- Performing Test __KDE_HAVE_GCC_VISIBILITY

-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success

-- Found KDE 4.7 include dir: /usr/include

-- Found KDE 4.7 library dir: /usr/lib

-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler

-- Found automoc4: /usr/bin/automoc4

-- Found X11: /usr/lib/libX11.so

CMake Error at /usr/share/apps/cmake/modules/FindPackageHandleStandardArgs.cmake:188 (MESSAGE):

  Could NOT find Xine: Found version "..", but required is at least "1.1.0"

  (found /usr/include)

Call Stack (most recent call first):

  /usr/share/apps/cmake/modules/FindXine.cmake:68 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)

  CMakeLists.txt:5 (find_package)

-- Configuring incomplete, errors occurred!

 * ERROR: media-video/kaffeine-1.2.2 failed (configure phase):

 *   cmake failed

 * 

 * Call stack:

 *     ebuild.sh, line   85:  Called src_configure

 *   environment, line 3866:  Called kde4-base_src_configure

 *   environment, line 3015:  Called cmake-utils_src_configure

 *   environment, line 1196:  Called _execute_optionaly 'src_configure'

 *   environment, line  616:  Called enable_cmake-utils_src_configure

 *   environment, line 1537:  Called die

 * The specific snippet of code:

 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";

 * 

 * If you need support, post the output of 'emerge --info =media-video/kaffeine-1.2.2',

 * the complete build log and the output of 'emerge -pqv =media-video/kaffeine-1.2.2'.

 * The complete build log is located at '/var/tmp/portage/media-video/kaffeine-1.2.2/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/media-video/kaffeine-1.2.2/temp/environment'.

 * S: '/var/tmp/portage/media-video/kaffeine-1.2.2/work/kaffeine-1.2.2'

>>> Failed to emerge media-video/kaffeine-1.2.2, Log file:

>>>  '/var/tmp/portage/media-video/kaffeine-1.2.2/temp/build.log'

```

und noch zur Info:

```

eix -I xine

[I] media-libs/xine-lib

     Available versions:  (1) 1.1.19 1.1.20 (~)1.2.0-r1 **1.2.9999

        {+X (+)a52 aac (-)aalib +alsa altivec bluray +css directfb (+)dts dvb dxr3 esd (-)fbcon (-)flac fusion gnome (-)gtk (-)imagemagick ipv6 (-)jack (-)libcaca (+)mad (+-)mmap mng (+)modplug (+)musepack nls opengl (-)oss pulseaudio (-)real (-)samba sdl speex (+)theora (-)truetype (+)v4l vcd vdpau vdr vidix +vis (+)vorbis wavpack win32codecs +xcb xinerama +xv xvmc}

     Installed versions:  1.2.0-r1(1)(18:14:03 06.01.2012)(X a52 aac aalib alsa css dts flac gtk ipv6 libcaca mad mmap mng musepack nls opengl sdl speex theora truetype v4l vcd vorbis wavpack win32codecs xcb xinerama xv xvmc -altivec -bluray -directfb -dvb -dxr3 -fbcon -fusion -imagemagick -jack -modplug -oss -pulseaudio -real -samba -vdpau -vdr -vidix -vis)

     Homepage:            http://xine.sourceforge.net/

     Description:         Core libraries for Xine movie player

[I] x11-libs/libXinerama

     Available versions:  1.1.1 {static-libs}

     Installed versions:  1.1.1(23:34:16 25.11.2010)(-static-libs)

     Homepage:            http://xorg.freedesktop.org/

     Description:         X.Org Xinerama library

[I] x11-proto/xineramaproto

     Available versions:  1.2.1

     Installed versions:  1.2.1(22:11:01 17.01.2011)

     Homepage:            http://xorg.freedesktop.org/

     Description:         X.Org Xinerama protocol headers

```

Gruß, Andy.

----------

## franzf

Das FindXine.cmake-script ist für xine-1.2.0 kaputt. Entweder downgraden oder fixen oder Bug-Report einreichen.

Wobei eine kurze Googlesuche das hier hervorgebracht hat.

----------

## franzf

Um es erstmal kompiliert zu bekommen, kannst du die /usr/share/apps/cmake/modules/FindXine.cmake durch das hier ersetzen:

```
FIND_PACKAGE(PkgConfig)

PKG_CHECK_MODULES(PC_LIBXINE QUIET libxine)

SET(XINE_DEFINITIONS ${PC_XINE_CFLAGS_OTHER})

FIND_PATH(XINE_INCLUDE_DIR NAMES xine.h

  HINTS

  ${PC_LIBXINE_INCLUDEDIR}

  ${PC_LIBXINE_INCLUDE_DIRS}

)

FIND_LIBRARY(XINE_LIBRARY NAMES xine

  HINTS

  ${PC_LIBXINE_LIBDIR}

  ${PC_LIBXINE_LIBRARY_DIRS}

)

SET(XINE_VERSION ${PC_LIBXINE_VERSION})

INCLUDE(FindPackageHandleStandardArgs)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(Xine  REQUIRED_VARS XINE_INCLUDE_DIR XINE_LIBRARY

               VERSION_VAR XINE_VERSION)

MARK_AS_ADVANCED(XINE_INCLUDE_DIR XINE_LIBRARY)
```

VORSICHT:

* Die alte FindXine.cmake hatte noch XINECONFIG_EXECUTABLE gesetzt. Mit 1.2 gibts xine-config nicht mehr, man soll pkg-config verwenden. Das hat leider andere Optionen (siehe z.B. patch für kdelibs <4.8.0). Deshalb hab ich das XINECONFIG_EXECUTABLE nicht mehr exportiert.

* Ich habe den Test auf Xine_FIND_VERSION rausgenommen, da der Standardmäßig auf >=1.1.0 war, und es in Portage sowieso keine kleineren Versionen von xine-lib mehr gibt. Man kann das sicher besser lösen, dafür fehlt mir aber die cmake-Kenntnis  :Razz:  (und die Zeit/Lust, mir das jetzt auf die Schnelle anzueignen)

Jedenfalls kompiliert kaffeine mit den Anpassungen. Man kann daraus sicher auch einen Patch machen, der dann auf kdelibs angewandt werden kann.

----------

## firefly

so ich hab da mal nen patch dafür erstellt  :Smile:  Wenn auch etwas abgewandelt gegenüber der Version von franzf

 *kdelibs-4.8.0-xinelib12x.patch wrote:*   

> --- cmake/modules/FindXine.cmake.orig	2012-01-28 12:24:43.449584627 +0100
> 
> +++ cmake/modules/FindXine.cmake	2012-01-28 12:25:20.111583092 +0100
> 
> @@ -40,32 +40,12 @@
> ...

 

Und hier der patch für kdelibs-4.8.0 ebuild:

 *Quote:*   

> --- /usr/portage/kde-base/kdelibs/kdelibs-4.8.0.ebuild	2012-01-26 00:31:15.000000000 +0100
> 
> +++ /usr/local/portage/kde-base/kdelibs/kdelibs-4.8.0-r0.ebuild	2012-01-28 12:11:16.144618390 +0100
> 
> @@ -132,6 +132,7 @@
> ...

 

Zumindestens für die, welche jetzt schon kde 4.8 und kaffeine einsetzen ist das ne Lösung. Ich denke aber das in ein paar Tagen auch ein offizielle Revision von kdelibs ebuild geben wird mit einem entsprechenden Path

----------

## franzf

Du baust den Version-Check mit  dem Xine_FIND_VERSION wieder ein. Das bedeutet für die Verwendung von find_package(Xine), dass vorher die Version in Xine_FIND_VERSION gesetzt sein muss. Eigentlich sollte es aber so aussehen:

```
find_package(Xine 1.1.0)
```

o.Ä., je nach Version die man haben will.

Wie man das genau umsetzt, da fehlt mir (noch  :Wink: ) das Wissen.

Hier ist übrigens der Bug-Report:

https://bugs.gentoo.org/show_bug.cgi?id=397595

Man kann ja da weiter diskutieren  :Smile: 

----------

## firefly

naja da ist mein WIssen auch etwas wage bezüglich cmake *g*

Kann gut sein dass Xine_Find_Version überflüssig ist

----------

## franzf

Ich hab das einfach mal mit meiner Version probiert:

```
set(CMAKE_MODULE_PATH /usr/share/apps/cmake/modules)

find_package(Xine 1.2)
```

funktniert  :Smile: 

ABER wenn ich da aus dem 1.2 ein 1.3 mache, geht es NICHT MEHR. Demnach reicht meine Version aus, um die Versionsangabe in find_package zu unterstützen.

Liegt das evtl an dem VERSION_VAR in FIND_PACKAGE_HANDLE_STANDARD_ARGS?

// edit:

Ein Blick in die /usr/share/apps/cmake/modules/FindPackageHandleStandardArgs.cmake hat gereicht:

```
# The second mode is more powerful and also supports version checking:

#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]

#                                           [VERSION_VAR   <versionvar>

#                                           [FAIL_MESSAGE "Custom failure message"] )

#

# As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND

# will be set to TRUE.

# Via FAIL_MESSAGE a custom failure message can be specified, if this is not

# used, the default message will be displayed.

# Following VERSION_VAR the name of the variable can be specified which holds

# the version of the package which has been found. If this is done, this version

# will be checked against the (potentially) specified required version used

# in the find_package() call. The EXACT keyword is also handled. The default

# messages include information about the required version and the version

# which has been actually found, both if the version is ok or not.
```

----------

## Randy Andy

Vielen Dank Franz und Firefly,

für die schnelle und kompetente Hilfe.

Sorry für meine langsame Reaktionszeit.

Franz, nach deiner ersten Antwort Gestern hab ich gleich ein downgrade der xine-lib gemacht auf  1.1.20 gemacht und damit das Problem vorerst gefixed,

wenn auch nicht so elegant wie bei Euch. Danach war ich aber schon zu Platt und bin vor der Glotze verschlummert.

Habt Euch ja wirklich Mühe damit gemacht.

Frage mich warum ich die Bug-Reports auf die ihr verweist nicht gefunden hab, wohl mal wieder die falschen Suchkriterien gewählt.

Jedenfalls hab ich Heute das gleiche auf meinem ~64Bit System gemacht, zusammen mit ein paar Updates.

Das kaffeine Problem ist hier nun auch gefixed, aber nun will sich ffmpeg2theora-0.28 und transcode-1.1.7 nicht kompilieren lassen.

Mal schauen was das nun wieder ist oder ob das schon was bekannt ist, aber eigentlich wollte ich nur mal eben ein Feedback geben und sehe das nach deinem Post ja noch ganz schön was gebacken war...

Also Dank und Gruß,

Andy.

----------

## Randy Andy

Hallo Leute,

damit kann ich die Sache wohl als gelöst markieren:

Kommentar #15 aus'm Bugreport

Fixed in =kde-base/kdelibs-4.8.0-r1. Added upstream patch which is included in

kdelibs-4.8.1.

Bzw. Changelog der kdelibs von Heute:

*kdelibs-4.8.0-r1 (29 Jan 2012)

  29 Jan 2012; Johannes Huber <johu@gentoo.org>

  +files/kdelibs-4.8.0-xinelib12x.patch, +kdelibs-4.8.0-r1.ebuild:

  Revision bump, adds upstream patch to fix cmake module for >=xine-lib-1.2, bug

  #397595.

Vielen Dank allen die daran mitgewirkt haben.

Ich geb' euch auch ein Bier auf der FOSDEM aus, falls wir uns dort treffen   :Wink: 

Gruß, Andy.

Andy.

----------

