search cancel

Endpoint Protection for Linux Auto-Protect kernel module fails to compile due to missing header files under linux/nsfd.

book

Article ID: 163892

calendar_today

Updated On:

Products

Endpoint Protection

Issue/Introduction

When attempting to build the auto-protect kernel modules, the build fails due to being unable to find specific headers under linux/nsfd.

sepfl-kbuild.log will show errors similar to the following:

/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:47:29: error: linux/nfsd/nfsd.h: No such file or directory
/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:48:30: error: linux/nfsd/cache.h: No such file or directory
/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:49:28: error: linux/nfsd/xdr.h: No such file or directory
/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:50:29: error: linux/nfsd/xdr3.h: No such file or directory
/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:52:30: error: linux/nfsd/state.h: No such file or directory
/tmp/SEP_12.1.6_MP5_Linux/src/ap-kernelmodule-12.1.7004-6500/symev/hnfs.c:53:29: error: linux/nfsd/xdr4.h: No such file or directory

Environment

Observed on Red Hat Enterprise Linux 6

Cause

When executing the build process from the build.sh script, the script will attempt to append information to Linux kernel header: version.h. If this this fails, the build will continue but this error will be encounters and ultimately the build process fails.

Resolution

To correct this issue, the following steps are recommended:

  1. Ensure that the build process is being run by root. This will ensure that the process has necessary permissions to modify the version.h as well as install the compiled modules once completed.
  2. Ensure that the build process is being initiated by launching the build.sh script, rather than calling the Makefiles directly.

If the issue persists, it may be possible to manually edit the version.h using the following steps.

  • Locate the file: /usr/src/kernels/<kernel version>/include/linux/version.h
  • Edit the file in a text editor (it is recommended that a backup of the file file be created first).
  • Append the following line to the bottom of the file:

#define RHEL6 1