Bug 132179

Summary: Kdebase don't compile with 2.6 headers
Product: [Unmaintained] kcontrol Reporter: giuseppe <metrobotte>
Component: kcmjoystickAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: build error

Description giuseppe 2006-08-10 05:49:12 UTC
Version:           3.5.4 (using KDE 3.5.4, compiled sources)
Compiler:          gcc version 3.4.6
OS:                Linux (i686) release 2.6.17.6

When i try to compile kdebase from sources,with 2.6.16 headers
i get this

make[3]: Entering directory `/tmp/kdebase-3.5.4/kcontrol/joystick'
/usr/lib/qt/bin/moc ./joystick.h -o joystick.moc
/usr/lib/qt/bin/moc ./joywidget.h -o joywidget.moc
/usr/lib/qt/bin/moc ./poswidget.h -o poswidget.moc
if /bin/sh ../../libtool --silent --tag=CXX --mode=compile i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mtune=i686 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE  -MT joydevice.lo -MD -MP -MF ".deps/joydevice.Tpo" -c -o joydevice.lo joydevice.cpp; \
        then mv -f ".deps/joydevice.Tpo" ".deps/joydevice.Plo"; else rm -f ".deps/joydevice.Tpo"; exit 1; fi
/usr/lib/qt/bin/moc ./caldialog.h -o caldialog.moc
if /bin/sh ../../libtool --silent --tag=CXX --mode=compile i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mtune=i686 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE  -MT joystick.lo -MD -MP -MF ".deps/joystick.Tpo" -c -o joystick.lo joystick.cpp; \
        then mv -f ".deps/joystick.Tpo" ".deps/joystick.Plo"; else rm -f ".deps/joystick.Tpo"; exit 1; fi
if /bin/sh ../../libtool --silent --tag=CXX --mode=compile i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mtune=i686 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE  -MT poswidget.lo -MD -MP -MF ".deps/poswidget.Tpo" -c -o poswidget.lo poswidget.cpp; \
        then mv -f ".deps/poswidget.Tpo" ".deps/poswidget.Plo"; else rm -f ".deps/poswidget.Tpo"; exit 1; fi
if /bin/sh ../../libtool --silent --tag=CXX --mode=compile i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mtune=i686 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE  -MT caldialog.lo -MD -MP -MF ".deps/caldialog.Tpo" -c -o caldialog.lo caldialog.cpp; \
        then mv -f ".deps/caldialog.Tpo" ".deps/caldialog.Plo"; else rm -f ".deps/caldialog.Tpo"; exit 1; fi
if /bin/sh ../../libtool --silent --tag=CXX --mode=compile i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../..  -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mtune=i686 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE  -MT joywidget.lo -MD -MP -MF ".deps/joywidget.Tpo" -c -o joywidget.lo joywidget.cpp; \
        then mv -f ".deps/joywidget.Tpo" ".deps/joywidget.Plo"; else rm -f ".deps/joywidget.Tpo"; exit 1; fi
In file included from /usr/include/linux/joystick.h:33,
                 from joydevice.h:27,
                 from joydevice.cpp:22:
/usr/include/linux/input.h:801: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:805: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:806: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:807: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:808: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:809: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:810: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:811: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:812: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:813: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:815: error: `kernel_ulong_t' does not name a type
make[3]: *** [joydevice.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /usr/include/linux/joystick.h:33,
                 from joydevice.h:27,
                 from joywidget.cpp:22:
/usr/include/linux/input.h:801: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:805: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:806: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:807: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:808: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:809: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:810: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:811: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:812: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:813: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:815: error: `kernel_ulong_t' does not name a type
In file included from /usr/include/linux/joystick.h:33,
                 from joydevice.h:27,
                 from joystick.cpp:29:
/usr/include/linux/input.h:801: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:805: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:806: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:807: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:808: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:809: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:810: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:811: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:812: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:813: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:815: error: `kernel_ulong_t' does not name a type
make[3]: *** [joystick.lo] Error 1
In file included from /usr/include/linux/joystick.h:33,
                 from joydevice.h:27,
                 from caldialog.cpp:23:
/usr/include/linux/input.h:801: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:805: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:806: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:807: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:808: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:809: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:810: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:811: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:812: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:813: error: `kernel_ulong_t' does not name a type
/usr/include/linux/input.h:815: error: `kernel_ulong_t' does not name a type
make[3]: *** [joywidget.lo] Error 1
make[3]: *** [caldialog.lo] Error 1
make[3]: Leaving directory `/tmp/kdebase-3.5.4/kcontrol/joystick'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/kdebase-3.5.4/kcontrol'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/kdebase-3.5.4'

Can you fix it?
Thanks
Comment 1 Louai Al-Khanji 2006-08-31 19:46:52 UTC
According to a report on irc this happens with 3.5 svn as well. Isn't is proper procedure to not include kernel headers? I thought the kernel guys have always taken that view.
Comment 2 Chantry Xavier 2006-08-31 19:54:04 UTC
I'm the one who reported it, attaching the error.

in kcontrol/joystick/joydevice.h, I replaced the #include <linux/joystick.h> by the content of the /usr/include/linux/joystick file, removed the #ifdef and friends, and the last problematic structure with the __s64 members.
Then it built fine, but I probably added more things than what was required in the joydevice header.
Comment 3 Chantry Xavier 2006-08-31 19:55:16 UTC
Created attachment 17590 [details]
build error
Comment 4 Chantry Xavier 2006-09-01 16:34:16 UTC
oh, great, I just had a look at bug 124619 (duplicate), and it's marked as invalid.
Is it really correct to include directly the headers in /usr/include/linux ?
Comment 5 Stefan Monov 2006-09-01 17:07:37 UTC

*** This bug has been marked as a duplicate of 124619 ***
Comment 6 Chantry Xavier 2006-09-01 17:24:27 UTC
It doesn't seem to be correct. Please have a look at this : 
http://www.kernel-traffic.org/kernel-traffic/kt20010618_122.html#2
http://newkerneltrap.osuosl.org/node/6536
Comment 7 giuseppe 2006-10-06 23:54:46 UTC
Solved with 3.5.5
works perfect with
2.6.18 headers