kohler / click

The Click modular router: fast modular packet processing and analysis
Other
735 stars 322 forks source link

Click Installation Fails at Ubuntu 20 #458

Closed GovernmentConspiracy closed 4 years ago

GovernmentConspiracy commented 4 years ago

Hello,

The makefile completes sucessfully when tested on an Ubuntu 18 machine with much fewer warnings, and fails on Ubuntu 20. My linux kernel for Ubuntu 18 is 4.15.0-109-generic while Ubuntu 20 is 5.4.0-40-generic. I believe this issue applies for any version >= 5.2, where in sys/socket.h, SIOCGSTAMP is now SIOCGSTAMP_OLD.

Offending bash snippet:

$ make
make[1]: Entering directory '/home/[dir]/click/userlevel'
  CXX ../elements/userlevel/fromdevice.cc
In file included from ../elements/userlevel/fromdevice.cc:36:
../include/click/etheraddress.hh: In member function ‘const uint16_t* EtherAddress::sdata() const’:
../include/click/etheraddress.hh:90:9: warning: taking address of packed member of ‘EtherAddress’ may result in an unaligned pointer value [-Waddress-of-packed-member]
   90 |  return _data;
      |         ^~~~~
../elements/userlevel/fromdevice.cc: In member function ‘virtual void FromDevice::selected(int, int)’:
../elements/userlevel/fromdevice.cc:546:49: error: ‘SIOCGSTAMP’ was not declared in this scope; did you mean ‘SIOCGRARP’?
  546 |      p->timestamp_anno().set_timeval_ioctl(_fd, SIOCGSTAMP);
      |                                                 ^~~~~~~~~~
      |                                                 SIOCGRARP
make[1]: *** [elements.mk:434: fromdevice.o] Error 1
make[1]: Leaving directory '/home/[dir]/click/userlevel'
make: *** [Makefile:57: userlevel] Error 2
tbarbette commented 4 years ago

Fix merged