NICMx / Jool

SIIT and NAT64 for Linux
GNU General Public License v2.0
318 stars 66 forks source link

Module build fails with kernel 4.6.4 #219

Closed toreanderson closed 7 years ago

toreanderson commented 8 years ago

When attemping to build Jool Git master or release v3.4.3 on a fully uptodate Fedora 24 x86_64 system (kernel version 4.6.4-301.fc24.x86_64) it fails like so:

tore@echo:~/git/Jool/mod$ make
make -C stateless
make[1]: Entering directory '/git/Jool/mod/stateless'
make -C /lib/modules/4.6.4-301.fc24.x86_64/build M=$PWD JOOL_FLAGS=""
make[2]: Entering directory '/usr/src/kernels/4.6.4-301.fc24.x86_64'
  LD      /git/Jool/mod/stateless/built-in.o
  CC [M]  /git/Jool/mod/stateless/../common/rfc6145/4to6.o
  CC [M]  /git/Jool/mod/stateless/../common/rfc6145/6to4.o
  CC [M]  /git/Jool/mod/stateless/../common/rfc6145/common.o
  CC [M]  /git/Jool/mod/stateless/../common/rfc6145/core.o
  CC [M]  /git/Jool/mod/stateless/../common/address.o
  CC [M]  /git/Jool/mod/stateless/../common/types.o
  CC [M]  /git/Jool/mod/stateless/../common/str_utils.o
  CC [M]  /git/Jool/mod/stateless/../common/packet.o
  CC [M]  /git/Jool/mod/stateless/../common/stats.o
  CC [M]  /git/Jool/mod/stateless/../common/log_time.o
  CC [M]  /git/Jool/mod/stateless/../common/icmp_wrapper.o
  CC [M]  /git/Jool/mod/stateless/../common/ipv6_hdr_iterator.o
  CC [M]  /git/Jool/mod/stateless/../common/pool6.o
  CC [M]  /git/Jool/mod/stateless/../common/rfc6052.o
  CC [M]  /git/Jool/mod/stateless/../common/rtrie.o
  CC [M]  /git/Jool/mod/stateless/../common/nl_buffer.o
  CC [M]  /git/Jool/mod/stateless/../common/rbtree.o
  CC [M]  /git/Jool/mod/stateless/../common/config.o
  CC [M]  /git/Jool/mod/stateless/../common/nl_handler.o
  CC [M]  /git/Jool/mod/stateless/../common/route.o
/git/Jool/mod/stateless/../common/route.c: In function ‘route6’:
/git/Jool/mod/stateless/../common/route.c:131:6: error: ‘struct flowi6’ has no member named ‘flowi6_tos’
  flow.flowi6_tos = get_traffic_class(hdr_ip);
      ^
scripts/Makefile.build:291: recipe for target '/git/Jool/mod/stateless/../common/route.o' failed
make[3]: *** [/git/Jool/mod/stateless/../common/route.o] Error 1
Makefile:1433: recipe for target '_module_/git/Jool/mod/stateless' failed
make[2]: *** [_module_/git/Jool/mod/stateless] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.6.4-301.fc24.x86_64'
Makefile:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/git/Jool/mod/stateless'
Makefile:8: recipe for target 'stateless' failed
make: *** [stateless] Error 2
ydahhrk commented 8 years ago

Sorry, man. I don't think this is the first time you've reported something like this and that shows I'm lagging behind. I found this "Latest Linux Kernel" RSS feed and hopefully this should never happen again. We'll see.

That said, I didn't have time to download the latest Fedora and, though a unit test managed to catch a horrendous bug I was about to throw at you, this is untested in the actual target environment. I'll see if I can upgrade one of my VMs at some point in the week but my schedule is somewhat tight.

If there's something wrong, however, it should crash very early. If it doesn't it's probably fine. But this is just a developer's take on it.

toreanderson commented 8 years ago

No worries, I know you'll have to play catch-up with upstream kernel API changes. Just thought I'd let you know, that's all - there's no rush. Anyway, I fetched the issue219 branch and it builds fine. Thanks! I'll test functionality later today.

ydahhrk commented 7 years ago

Tested, released, closing.