xxorde / librekinect

Depth data from a kinect sensor! Small and fast kernel driver. Also for embedded devices like the raspberry pi!
407 stars 68 forks source link

Raspberry Pi 3.12.y kernel Make failure on 3.18.11-v7+ #38

Closed tophstar closed 8 years ago

tophstar commented 8 years ago

Hello, I'd appricate some help here as I am new to raspberry pi development. It seems like clocksource may no longer be a part of the new 3.18.11-v7+ kernel?

When executing this part of the instructions for setting up librekinect on raspberry pi:

# building, that is going to take a while!
make
make modules_prepare
make modules_install

I get the following error:

root@raspberrypi:/usr/src/linux# make
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CHK     kernel/config_data.h
  CC      drivers/clocksource/arm_arch_timer.o
drivers/clocksource/arm_arch_timer.c:47:28: error: field ‘evt’ has incomplete type
drivers/clocksource/arm_arch_timer.c: In function ‘arch_timer_reg_write’:
drivers/clocksource/arm_arch_timer.c:78:30: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/arm_arch_timer.c:78:30: warning: (near initialization for ‘timer’) [enabled by default]
drivers/clocksource/arm_arch_timer.c:88:30: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/arm_arch_timer.c:88:30: warning: (near initialization for ‘timer’) [enabled by default]
drivers/clocksource/arm_arch_timer.c: In function ‘arch_timer_reg_read’:
drivers/clocksource/arm_arch_timer.c:109:30: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/arm_arch_timer.c:109:30: warning: (near initialization for ‘timer’) [enabled by default]
drivers/clocksource/arm_arch_timer.c:119:30: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/arm_arch_timer.c:119:30: warning: (near initialization for ‘timer’) [enabled by default]
drivers/clocksource/arm_arch_timer.c: In function ‘timer_handler’:
drivers/clocksource/arm_arch_timer.c:144:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c: In function ‘timer_set_mode’:
drivers/clocksource/arm_arch_timer.c:184:7: error: ‘CLOCK_EVT_MODE_UNUSED’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c:184:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/clocksource/arm_arch_timer.c:185:7: error: ‘CLOCK_EVT_MODE_SHUTDOWN’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c: At top level:
drivers/clocksource/arm_arch_timer.c:196:17: warning: ‘enum clock_event_mode’ declared inside parameter list [enabled by default]
drivers/clocksource/arm_arch_timer.c:196:17: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/clocksource/arm_arch_timer.c:195:60: error: parameter 1 (‘mode’) has incomplete type
drivers/clocksource/arm_arch_timer.c:195:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
drivers/clocksource/arm_arch_timer.c:202:17: warning: ‘enum clock_event_mode’ declared inside parameter list [enabled by default]
drivers/clocksource/arm_arch_timer.c:201:60: error: parameter 1 (‘mode’) has incomplete type
drivers/clocksource/arm_arch_timer.c:201:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
drivers/clocksource/arm_arch_timer.c:208:14: warning: ‘enum clock_event_mode’ declared inside parameter list [enabled by default]
drivers/clocksource/arm_arch_timer.c:207:64: error: parameter 1 (‘mode’) has incomplete type
drivers/clocksource/arm_arch_timer.c:207:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
drivers/clocksource/arm_arch_timer.c:214:14: warning: ‘enum clock_event_mode’ declared inside parameter list [enabled by default]
drivers/clocksource/arm_arch_timer.c:213:64: error: parameter 1 (‘mode’) has incomplete type
drivers/clocksource/arm_arch_timer.c:213:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
drivers/clocksource/arm_arch_timer.c: In function ‘__arch_timer_setup’:
drivers/clocksource/arm_arch_timer.c:261:5: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:261:18: error: ‘CLOCK_EVT_FEAT_ONESHOT’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c:264:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:264:20: error: ‘CLOCK_EVT_FEAT_C3STOP’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c:265:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:266:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:267:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:269:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:270:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:271:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:273:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:274:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:275:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:278:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:279:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:280:6: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:282:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:283:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:286:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:287:7: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:292:5: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:292:16: error: ‘CLOCK_EVT_MODE_SHUTDOWN’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c:294:2: error: implicit declaration of function ‘clockevents_config_and_register’ [-Werror=implicit-function-declaration]
drivers/clocksource/arm_arch_timer.c: In function ‘arch_timer_stop’:
drivers/clocksource/arm_arch_timer.c:426:2: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:437:5: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:437:16: error: ‘CLOCK_EVT_MODE_UNUSED’ undeclared (first use in this function)
drivers/clocksource/arm_arch_timer.c: In function ‘arch_timer_cpu_notify’:
drivers/clocksource/arm_arch_timer.c:449:3: error: invalid use of undefined type ‘struct clock_event_device’
drivers/clocksource/arm_arch_timer.c:449:20: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c:452:3: error: invalid use of undefined type ‘struct clock_event_device’
drivers/clocksource/arm_arch_timer.c:452:19: error: dereferencing pointer to incomplete type
drivers/clocksource/arm_arch_timer.c: In function ‘arch_timer_register’:
drivers/clocksource/arm_arch_timer.c:468:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct clock_event_device’ 
drivers/clocksource/arm_arch_timer.c:468:19: error: invalid application of ‘__alignof__’ to incomplete type ‘struct clock_event_device’ 
drivers/clocksource/arm_arch_timer.c:503:2: error: invalid use of undefined type ‘struct clock_event_device’
drivers/clocksource/arm_arch_timer.c:503:19: error: dereferencing pointer to incomplete type
cc1: some warnings being treated as errors
scripts/Makefile.build:308: recipe for target 'drivers/clocksource/arm_arch_timer.o' failed
make[2]: *** [drivers/clocksource/arm_arch_timer.o] Error 1
scripts/Makefile.build:455: recipe for target 'drivers/clocksource' failed
make[1]: *** [drivers/clocksource] Error 2
Makefile:797: recipe for target 'drivers' failed
make: *** [drivers] Error 2
root@raspberrypi:/usr/src/linux# uname -r
3.18.11-v7+
tophstar commented 8 years ago

I figured out my armature mistake here...

I am no longer getting this message after I made this change:

wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz instead of: wget https://github.com/raspberrypi/linux/archive/rpi-3.12.y.tar.gz.

Unfortunately I am now getting the error mentioned in https://github.com/xxorde/librekinect/issues/36.

I will close this ticket.