Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 84032 - Kaffeine 0.4.3b compile error with kdelibs-3.4
Summary: Kaffeine 0.4.3b compile error with kdelibs-3.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 94223
  Show dependency tree
 
Reported: 2005-03-03 20:06 UTC by Stephen Leaf
Modified: 2005-06-30 08:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Leaf 2005-03-03 20:06:52 UTC
I'm using the Meta ebuilds for KDE 3.4rc1

After some research I noticed that dcopidl2cpp writes the #include lines in completely backwards order to what is stored within the kaffeine.kidl and kaffeine.h files.

in the attempt to fix the problem I did fix a few compile bugs and also got rid of all the depreciated functions.

This is for Kaffeine 0.4.3b
http://smileaf.org/files/kaffeine-KDE-3.4.0-compile-and-depreciated-fix.patch.bz2

In the end the only way I was able to install kaffeine was apply the patch.
and edit kaffeine_stub.h reversing the #includes

Reproducible: Always
Steps to Reproduce:
1. emerge kaffeine
2. wait
3. wait somemore....

Actual Results:  
 
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.4/include 
-I/usr/qt/3/include -I/usr/X11R6/include  -I/usr/include  -DQT_THREAD_SUPPORT  
-D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts 
-Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 
-march=pentium4 -fomit-frame-pointer -Wl,-z,now -Wformat-security 
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -c -o 
kaffeine_stub.o kaffeine_stub.cpp 
In file included from kaffeine_stub.h:13, 
                 from kaffeine_stub.cpp:9: 
filterdialog.h:54: error: syntax error before `*' token 
filterdialog.h:55: error: syntax error before `*' token 
i686-pc-linux-gnu-g++: -z: linker input file unused because linking not done 
i686-pc-linux-gnu-g++: now: linker input file unused because linking not done 
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.4/include 
-I/usr/qt/3/include -I/usr/X11R6/include  -I/usr/include  -DQT_THREAD_SUPPORT  
-D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts 
-Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 
-march=pentium4 -fomit-frame-pointer -Wl,-z,now -Wformat-security 
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -c -o 
controlpanel_skel.o controlpanel_skel.cpp 
In file included from kaffeine_stub.h:16, 
                 from kaffeine_stub.cpp:9: 
videowindow.h: In constructor ` 
   DeinterlacerConfigDialog::DeinterlacerConfigDialog(QWidget*, const char*)': 
videowindow.h:53: error: `i18n' undeclared (first use this function) 
videowindow.h:53: error: (Each undeclared identifier is reported only once for 
   each function it appears in.) 
In file included from equalizer.h:27, 
                 from kaffeine_stub.h:17, 
                 from kaffeine_stub.cpp:9: 
/usr/qt/3/include/qslider.h: At global scope: 
/usr/qt/3/include/qslider.h:67: error: parse error before numeric constant 
/usr/qt/3/include/qslider.h:68: error: missing ';' before right brace 
/usr/qt/3/include/qslider.h:70: error: parse error before `*' token 
/usr/qt/3/include/qslider.h:71: error: parse error before `,' token 
/usr/qt/3/include/qslider.h:72: error: parse error before `int' 
/usr/qt/3/include/qslider.h:74: error: destructors must be member functions 
/usr/qt/3/include/qslider.h:76: error: `Orientation' was not declared in this 
   scope 
/usr/qt/3/include/qslider.h:76: error: virtual outside class declaration 
/usr/qt/3/include/qslider.h:76: error: variable or field `setOrientation' 
   declared void 
/usr/qt/3/include/qslider.h:77: error: parse error before `)' token 
/usr/qt/3/include/qslider.h:78: error: virtual outside class declaration 
/usr/qt/3/include/qslider.h:79: error: non-member function `bool tracking()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:80: error: virtual outside class declaration 
/usr/qt/3/include/qslider.h:82: error: non-member function `int sliderStart()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:83: error: non-member function `QRect 
sliderRect()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:84: error: non-member function `QSize sizeHint()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:88: error: non-member function `QSizePolicy 
   sizePolicy()' cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:89: error: non-member function `QSize 
   minimumSizeHint()' cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:91: error: `TickSetting' was not declared in this 
   scope 
/usr/qt/3/include/qslider.h:91: error: virtual outside class declaration 
/usr/qt/3/include/qslider.h:91: error: variable or field `setTickmarks' 
   declared void 
/usr/qt/3/include/qslider.h:92: error: parse error before `)' token 
/usr/qt/3/include/qslider.h:94: error: virtual outside class declaration 
/usr/qt/3/include/qslider.h:95: error: non-member function `int 
tickInterval()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h: In function `int tickInterval()': 
/usr/qt/3/include/qslider.h:95: error: `tickInt' undeclared (first use this 
   function) 
/usr/qt/3/include/qslider.h: At global scope: 
/usr/qt/3/include/qslider.h:97: error: non-member function `int minValue()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:98: error: non-member function `int maxValue()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:101: error: non-member function `int lineStep()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:102: error: non-member function `int pageStep()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:105: error: non-member function `int value()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:107: error: parse error before `public' 
/usr/qt/3/include/qslider.h:114: error: parse error before `protected' 
/usr/qt/3/include/qslider.h:120: error: parse error before `protected' 
/usr/qt/3/include/qslider.h:139: error: parse error before `private' 
/usr/qt/3/include/qslider.h:146: error: non-member function `int 
   positionFromValue(int)' cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:147: error: non-member function `int 
   valueFromPosition(int)' cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:151: error: non-member function `int available()' 
   cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:152: error: non-member function `int 
goodPart(const 
   QPoint&)' cannot have `const' method qualifier 
/usr/qt/3/include/qslider.h:160: error: 'State' is used as a type, but is not 
   defined as a type. 
/usr/qt/3/include/qslider.h:163: error: 'TickSetting' is used as a type, but 
is 
   not defined as a type. 
/usr/qt/3/include/qslider.h:164: error: `int tickInt' used prior to 
declaration 
/usr/qt/3/include/qslider.h:165: error: 'Orientation' is used as a type, but 
is 
   not defined as a type. 
/usr/qt/3/include/qslider.h:167: error: parse error before `private' 
/usr/qt/3/include/qslider.h:170: error: syntax error before `&' token 
/usr/qt/3/include/qslider.h:175: error: no `bool QSlider::tracking() const' 
   member function declared in class `QSlider' 
/usr/qt/3/include/qslider.h:180: error: no `Qt::Orientation 
   QSlider::orientation() const' member function declared in class `QSlider' 
/usr/qt/3/include/qslider.h: In member function `Qt::Orientation 
   QSlider::orientation() const': 
/usr/qt/3/include/qslider.h:181: error: `orient' undeclared (first use this 
   function) 
/usr/qt/3/include/qslider.h: At global scope: 
/usr/qt/3/include/qslider.h:185: error: no `int QSlider::sliderStart() const' 
   member function declared in class `QSlider' 
/usr/qt/3/include/qslider.h:190: error: no `void 
   QSlider::setSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, bool)' 
   member function declared in class `QSlider' 
In file included from kaffeine_stub.h:17, 
                 from kaffeine_stub.cpp:9: 
equalizer.h:63: error: syntax error before `*' token 
equalizer.h:64: error: syntax error before `*' token 
equalizer.h:65: error: syntax error before `*' token 
equalizer.h:66: error: syntax error before `*' token 
equalizer.h:67: error: syntax error before `*' token 
equalizer.h:68: error: syntax error before `*' token 
equalizer.h:69: error: syntax error before `*' token 
equalizer.h:70: error: syntax error before `*' token 
equalizer.h:71: error: syntax error before `*' token 
equalizer.h:72: error: syntax error before `*' token 
In file included from kaffeine_stub.h:18, 
                 from kaffeine_stub.cpp:9: 
videosettings.h:58: error: syntax error before `*' token 
videosettings.h:59: error: syntax error before `*' token 
videosettings.h:60: error: syntax error before `*' token 
videosettings.h:61: error: syntax error before `*' token 
videosettings.h:62: error: syntax error before `*' token 
videosettings.h:63: error: syntax error before `*' token 
In file included from kaffeine_stub.h:20, 
                 from kaffeine_stub.cpp:9: 
configwidget.h:89: error: syntax error before `*' token 
In file included from kaffeine_stub.h:23, 
                 from kaffeine_stub.cpp:9: 
controlpanel.h:112: error: syntax error before `*' token 
controlpanel.h: In member function `void ControlPanel::volUp()': 
controlpanel.h:62: error: `volSlider' undeclared (first use this function) 
In file included from /usr/kde/3.4/include/kbookmarkmenu.h:33, 
                 from kaffeine_stub.h:33, 
                 from kaffeine_stub.cpp:9: 
/usr/kde/3.4/include/klocale.h: At global scope: 
/usr/kde/3.4/include/klocale.h:73: error: `QString i18n(const char*)' used 
   prior to declaration 
make[2]: *** [kaffeine_stub.o] Error 1 
make[2]: *** Waiting for unfinished jobs.... 
i686-pc-linux-gnu-g++: -z: linker input file unused because linking not done 
i686-pc-linux-gnu-g++: now: linker input file unused because linking not done 
make[2]: Leaving directory 
`/var/tmp/portage/kaffeine-0.4.3b-r1/work/kaffeine-0.4.3b/kaffeine' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory 
`/var/tmp/portage/kaffeine-0.4.3b-r1/work/kaffeine-0.4.3b' 
make: *** [all] Error 2 

Expected Results:  
Clean Compile. 

Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, 
glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) 
================================================================= 
System uname: 2.6.10-gentoo-r6 i686 Mobile Intel(R) Celeron(R) CPU 2.40GHz 
Gentoo Base System version 1.4.16 
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 27 2005, 
12:53:54)] 
dev-lang/python:     2.3.4-r1 
sys-devel/autoconf:  2.59-r6, 2.13 
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 
sys-devel/binutils:  2.15.92.0.2-r1 
sys-devel/libtool:   1.5.10-r4 
virtual/os-headers:  2.6.8.1-r2 
ACCEPT_KEYWORDS="x86" 
AUTOCLEAN="yes" 
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now" 
CHOST="i686-pc-linux-gnu" 
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" 
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -Wl,-z,now" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs autoconfig ccache distlocks nodoc noinfo sandbox sfperms" 
GENTOO_MIRRORS="http://distfiles.gentoo.org 
http://distro.ibiblio.org/pub/Linux/distributions/gentoo" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="x86 X acpi aim alsa apm arts avi berkdb bitmap-fonts bzlib canna 
cdparanoia cdr cjk crypt cups curl dvd dvdread emboss encode f77 fam fbcon 
flac font-server foomaticdb fortran gcj gif gpm gtk2 hal imlib ipv6 java jpeg 
junit kde kdexdeltas libcaca libg++ libwww mad mikmod mmx mng motif mpeg 
ncurses network nls ntpl ogg oggvorbis opengl oss pam pcmcia pcre pdflib perl 
png posix postgres python qt quicktime readline samba smartcard sockets spell 
sqlite sse sse2 ssl svga tcpd theora threads tiff truetype truetype-fonts 
trusted type1-fonts unicode usb usepackagedmakefiles wifi xine xml2 xosd xsl 
xv zlib" 
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Gregorio Guidi (RETIRED) gentoo-dev 2005-03-04 07:00:01 UTC
I confirm that kaffeine-0.4.3b uses #includes in a sloppy way and breaks with kde-3.4. kaffeine-0.5 works well though.

Maybe you can ask the author to push out a revision of the 0.4 series that works with kde-3.4? Otherwise we could just mark kaffeine-0.5 stable and forget about 0.4...
Comment 2 Stephen Leaf 2005-03-08 17:07:20 UTC
If I had to use 0.5 I'd find another player. IMO 0.5 is a usability nightmare.
Comment 3 Gregorio Guidi (RETIRED) gentoo-dev 2005-03-08 17:33:43 UTC
> IMO 0.5 is a usability nightmare.

I tend to agree... that's why I proposed you to ask for a new revision of kaffeine-0.4.x ;)
Comment 4 Stephen Leaf 2005-03-08 17:50:08 UTC
We could do it ourself :)
I've been researching on what change they made to fix my bug.
later I might look into other improvements they've done and possibly include those in my version.
sadly I doubt they'll make a revision.
Comment 5 Gregorio Guidi (RETIRED) gentoo-dev 2005-03-09 01:04:07 UTC
Personally, I don't think we are the right people to host and maintain a forked version of kaffeine. You could just send your patches to the author.
Comment 6 Stephen Leaf 2005-03-09 05:59:30 UTC
True.
Really I didn't want a forked version. just something that will compile.
more or less when I said we could do it ourself I was thinking. if you hate it as well would you like to help? not can gentoo host and maintain this. ;)
Comment 7 Gregorio Guidi (RETIRED) gentoo-dev 2005-03-09 06:13:43 UTC
> Really I didn't want a forked version. just something that will compile.

Ah, Ok. A patch to make it compile will be gladly accepted.
Comment 8 Stephen Leaf 2005-03-09 08:53:43 UTC
Just got an ebuild to compile it!!

sadly it's a hack instead of a true fix but it works :D

Here is my ebuild mods

src_unpack() {
        kde_src_unpack

        epatch ${FILESDIR}/${P}-SecurityTracker-1011936.patch
        epatch ${FILESDIR}/kaffeine-KDE-3.4.0-compile-and-depreciated-fix.patch
}

src_compile() {
        econf || die
        emake || perl ${FILESDIR}/revinclude.pl && make || die
}

When it dies.. run my perl script which will rearrange the #includes then continue the compile again :)

http://smileaf.org/files/kaffeine-0.4.3b-r2.tar.bz2
Comment 9 Gregorio Guidi (RETIRED) gentoo-dev 2005-03-10 06:05:48 UTC
I don't think that can be an acceptable strategy...
Comment 10 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-03-27 13:37:51 UTC
0.6 should fix everything
It also re-features the minimal mode with M! (i'm very happy about it).

Still I think we should wait for -r1 with the xorg problem fixed..
Anyway until 3.4 is stable I don't see need to mark 0.5 or 0.6 stables.
Comment 11 Stephen Leaf 2005-03-27 14:00:13 UTC
0.6 does bring back some important functionality. but it's still not near as functional 0.4.3b.

1 such function I'm thinking of is the ability to skip ahead and backwards using they left and right arrow keys. true this can be done using they mouse scroll however this is not very friendly IMHO.

but I will agree that there is no need for 0.5 or 0.6 until kde 3.4 is marked stable. Until they do get all the functionality back in tho I'll keep it in my package.mask and continue to just use my "non-acceptable strategy" ebuild to build it :)
Comment 12 Dan Armak (RETIRED) gentoo-dev 2005-06-30 08:33:40 UTC
I'm marking 0.6-r1 stable to allow kde 3.4.1 to be marked stable.