It would've been too easy if the solution (read my previous post about this topic), would've just worked. With the source of the HP OpenIPMI package available (it seems to be included in the download), I thought it would be snap to get it compiled for our Etch kernel. I was wrong...
Downloading the .deb for sarge doesn't work on Etch right away because of a kernel version difference. Moreover, while the source of the OpenIPMI driver has been included, it does fit neatly into the kernel source, but the compiler bombs out with this:
CC [M] drivers/char/ipmi/ipmi_msghandler.o drivers/char/ipmi/ipmi_msghandler.c: In function 'ipmi_smi_watcher_register': drivers/char/ipmi/ipmi_msghandler.c:332: error: too few arguments to function 'watcher->new_smi' drivers/char/ipmi/ipmi_msghandler.c: In function 'call_smi_watchers': drivers/char/ipmi/ipmi_msghandler.c:356: error: too few arguments to function 'w->new_smi' drivers/char/ipmi/ipmi_msghandler.c: At top level: drivers/char/ipmi/ipmi_msghandler.c:1724: error: conflicting types for 'ipmi_register_smi' include/linux/ipmi_smi.h:176: error: previous declaration of 'ipmi_register_smi' was here drivers/char/ipmi/ipmi_msghandler.c: In function 'handle_oem_get_msg_cmd': drivers/char/ipmi/ipmi_msghandler.c:2569: error: 'IPMI_OEM_RECV_TYPE' undeclared (first use in this function) drivers/char/ipmi/ipmi_msghandler.c:2569: error: (Each undeclared identifier is reported only once drivers/char/ipmi/ipmi_msghandler.c:2569: error: for each function it appears in.) drivers/char/ipmi/ipmi_msghandler.c: In function 'ipmi_init_msghandler': drivers/char/ipmi/ipmi_msghandler.c:3364: warning: implicit declaration of function 'notifier_chain_register' drivers/char/ipmi/ipmi_msghandler.c: In function 'cleanup_ipmi': drivers/char/ipmi/ipmi_msghandler.c:3384: warning: implicit declaration of function 'notifier_chain_unregister' drivers/char/ipmi/ipmi_msghandler.c: At top level: drivers/char/ipmi/ipmi_msghandler.c:3420: error: conflicting types for 'ipmi_register_smi' include/linux/ipmi_smi.h:176: error: previous declaration of 'ipmi_register_smi' was here make[3]: *** [drivers/char/ipmi/ipmi_msghandler.o] Error 1
Now, this would be reasonably understandable, because of the major kernel version difference between sarge (2.6.8) and etch (2.6.18), so I downloaded the RHEL 5 rpm, extracted the source (yes, it's present as well), and infused it into the source.
The result was better, but still not quite enough: I still get the one error message:
CC [M] drivers/char/ipmi/ipmi_msghandler.o drivers/char/ipmi/ipmi_msghandler.c: In function 'handle_oem_get_msg_cmd': drivers/char/ipmi/ipmi_msghandler.c:3153: error: 'IPMI_OEM_RECV_TYPE' undeclared (first use in this function) drivers/char/ipmi/ipmi_msghandler.c:3153: error: (Each undeclared identifier is reported only once drivers/char/ipmi/ipmi_msghandler.c:3153: error: for each function it appears in.) make[3]: *** [drivers/char/ipmi/ipmi_msghandler.o] Error 1
When examining the source, it's a logical error: the symbol IPMI_OEM_RECV_TYPE is indeed only present on that line, and is not defined anywhere else.
Guess I'll have to reopen that case at HP.
« ‹ | November 2024 | › » | ||||
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |