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
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.
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.
Created attachment 17590 [details] build error
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 ?
*** This bug has been marked as a duplicate of 124619 ***
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
Solved with 3.5.5 works perfect with 2.6.18 headers