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
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: