cn-uofbasel / ccn-lite

CCN-lite, a lightweight implementation of the CCNx protocol and its variations
ISC License
74 stars 63 forks source link

Cannot install CCN-lite for the Linux kernel #300

Closed ericxiao77 closed 3 years ago

ericxiao77 commented 6 years ago

Description

Cannot install CCN-lite for the Linux kernel

Steps to reproduce the issue

[100%] Generating ccnl-lxkernel/ccnl-lxkernel.ko /home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.c:80:23: fatal error: ccnl-defs.h: No such file or directory. compilation terminated. scripts/Makefile.build:316: recipe for target '/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.o' failed make[4]: *** [/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.o] Error 1 Makefile:1550: recipe for target '_module_/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel' failed make[3]: *** [_module_/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel] Error 2 CMakeFiles/ccnl-lxkernel.dir/build.make:61: recipe for target 'ccnl-lxkernel/ccnl-lxkernel.ko' failed make[2]: *** [ccnl-lxkernel/ccnl-lxkernel.ko] Error 2 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ccnl-lxkernel.dir/all' failed make[1]: *** [CMakeFiles/ccnl-lxkernel.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2 After I installed CCN-lite for Unix,I try to install CCN-lite for the Linux because my computer's OS is Ubuntu 16.04(with Kernel 4.13.). Some messages showed in the terminal after the first step (" make"),
Can you tell why the ccnl-desg.h cannot be finded?Thanks!

Expected results

can install CCN-lite for the Linux kernel

Actual results

[100%] Generating ccnl-lxkernel/ccnl-lxkernel.ko /home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.c:80:23: fatal error: ccnl-defs.h: No such file or directory. compilation terminated. scripts/Makefile.build:316: recipe for target '/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.o' failed make[4]: *** [/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel/ccn-lite-lnxkernel.o] Error 1 Makefile:1550: recipe for target '_module_/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel' failed make[3]: *** [_module_/home/xiao/ccn-lite/src/ccnl-lnxkernel/ccnl-lxkernel] Error 2 CMakeFiles/ccnl-lxkernel.dir/build.make:61: recipe for target 'ccnl-lxkernel/ccnl-lxkernel.ko' failed make[2]: *** [ccnl-lxkernel/ccnl-lxkernel.ko] Error 2 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ccnl-lxkernel.dir/all' failed make[1]: *** [CMakeFiles/ccnl-lxkernel.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

Versions

Operating system: Ubuntu 16.04 Build environment: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 clang-3.8

mfrey commented 6 years ago

@blacksheeep Seems to be an issue with include paths?

mehradae commented 4 years ago

Any update on how to fix this issue?

marvsz commented 4 years ago

Hi, I don't know if it's still relevant but I got it to work on Ubuntu 18.04 with kernel 5.3.0-40 as follows: The include paths had to be adjusted because they were no longer correct after the redesign.

In ccnl-os-time.c and ccnl-os-time.h the problem for newer Linux kernels > 4.15 is that the init_timer function does not exist anymore. Here you have to change it accordingly like i did here: https://github.com/marvsz/INetCEP/blob/master/ccn-lite/src/ccnl-core/include/ccnl-os-time.h and https://github.com/marvsz/INetCEP/blob/master/ccn-lite/src/ccnl-core/src/ccnl-os-time.c

Here you can also see what I mean by adjusting the headers. Please be carful what you adapt as I am doing some extensions you might not want.

Hope I could Help.