Bug #5393
opentipc problems while building on Ubuntu
0%
Description
I have cloned the git repository, and followed this tutorial to get my new kernel built:
​https://wiki.ubuntu.com/KernelTeam/GitKernelBuild
I changed all the values in .config to enable DECT functionality, and this is what I get when I try to compile the kernel:
net/built-in.o: In function `dect_ccp_send_to_cluster': ccp.c:(.text+0x95e91): undefined reference to `tipc_send_buf' net/built-in.o: In function `dect_ccp_send_to_cell': ccp.c:(.text+0x95f31): undefined reference to `tipc_send_buf' net/built-in.o: In function `dect_ccp_bind_cell': ccp.c:(.text+0x9656b): undefined reference to `tipc_attach' ccp.c:(.text+0x965c5): undefined reference to `tipc_createport' ccp.c:(.text+0x96635): undefined reference to `tipc_send2name' ccp.c:(.text+0x96657): undefined reference to `tipc_deleteport' ccp.c:(.text+0x9665f): undefined reference to `tipc_detach' net/built-in.o: In function `dect_ccp_subscr_rcv': ccp.c:(.text+0x966fb): undefined reference to `tipc_createport' ccp.c:(.text+0x96731): undefined reference to `tipc_send2name' ccp.c:(.text+0x96741): undefined reference to `tipc_deleteport' net/built-in.o: In function `dect_ccp_cluster_init': (.text+0x96a3f): undefined reference to `tipc_attach' net/built-in.o: In function `dect_ccp_cluster_init': (.text+0x96a96): undefined reference to `tipc_createport' net/built-in.o: In function `dect_ccp_cluster_init': (.text+0x96ac5): undefined reference to `tipc_publish' net/built-in.o: In function `dect_ccp_cluster_init': (.text+0x96add): undefined reference to `tipc_deleteport' net/built-in.o: In function `dect_ccp_cluster_init': (.text+0x96ae5): undefined reference to `tipc_detach' net/built-in.o: In function `dect_ccp_cl_named_msg': ccp.c:(.text+0x97235): undefined reference to `tipc_createport' ccp.c:(.text+0x97245): undefined reference to `tipc_connect2port' ccp.c:(.text+0x9725a): undefined reference to `tipc_send' ccp.c:(.text+0x97273): undefined reference to `tipc_disconnect' ccp.c:(.text+0x9727b): undefined reference to `tipc_deleteport' net/built-in.o: In function `dect_ccp_unbind_cell': ccp.c:(.text+0x96524): undefined reference to `tipc_detach' net/built-in.o: In function `dect_ccp_cluster_shutdown': (.text+0x96534): undefined reference to `tipc_detach' make[1]: *** [.tmp_vmlinux1] Error 1 make[1]: Leaving directory `/home/wpld/dect_kernel' make: *** [debian/stamp-build-kernel] Error 2
I searched for tipc.h files, and found 3 of them:
./include/config/tipc.h
./include/linux/tipc.h
./include/net/tipc/tipc.h
I found out that the linux/tipc.h isn't included in the cpp.c program, however the net/tipc/tipc.h includes it anyway. The problematic functions are all correctly defined in the latter two tipc libraries, but somehow it doesn't work for me.
The config/tipc.h is an empty file.
Updated by over 1 year ago
The ccp.o is currently always linked, even if the config option which takes care of selecting the CONFIG_TIPC dependency is not enabled.
For the time being, please either select CONFIG_TIPC or CONFIG_DECT_CCP.
Updated by over 1 year ago
Additionally this has been broken in 2.6.35 by some cleanup commit which unexported a few functions. For now I've added a patch which allows to disable CONFIG_DECT_CCP and actually not builds it anymore.