Error building OpenWRT in function create_inode

The following are the errors I got with option V=s

mksquashfs.c: In function 'create_inode':
mksquashfs.c:1372:24: error: called object 'major' is not a function or function pointer
 1372 |   unsigned int major = major(buf->st_rdev);
      |                        ^~~~~
mksquashfs.c:1372:16: note: declared here
 1372 |   unsigned int major = major(buf->st_rdev);
      |                ^~~~~
mksquashfs.c:1373:24: error: called object 'minor' is not a function or function pointer
 1373 |   unsigned int minor = minor(buf->st_rdev);
      |                        ^~~~~
mksquashfs.c:1373:16: note: declared here
 1373 |   unsigned int minor = minor(buf->st_rdev);
      |                ^~~~~
mksquashfs.c:1396:24: error: called object 'major' is not a function or function pointer
 1396 |   unsigned int major = major(buf->st_rdev);
      |                        ^~~~~
mksquashfs.c:1396:16: note: declared here
 1396 |   unsigned int major = major(buf->st_rdev);
      |                ^~~~~
mksquashfs.c:1397:24: error: called object 'minor' is not a function or function pointer
 1397 |   unsigned int minor = minor(buf->st_rdev);
      |                        ^~~~~
mksquashfs.c:1397:16: note: declared here
 1397 |   unsigned int minor = minor(buf->st_rdev);
      |                ^~~~~

patch the squashfs/sysmacros.patch file