When attempting to install Symantec Endpoint Protection (SEP) on Red Hat Enteprrise Linux (RHEL) 7.3, which was released with kernel 3.10.0-514 and since updated with several 3.10.0-514.x.y iterations, the Auto-Compile process for the Auto-Protect kernel modules fails with an error. Attempting to manually compile the kernel modules results in the same error. While the error message may be similar to the one shown below, it is likely different when using 12.1 RU6 MP7 or higher.
kbuild log:
Mon Nov 14 13:59:00 PST 2016: starting to build kernel modules of SEP for Linux Kernel release not specified. Build kernel modules for current kernel version 3.10.0-514.el7.x86_64 Kernel source directory not specified. Use default /lib/modules/3.10.0-514.el7.x86_64/build make -C /lib/modules/3.10.0-514.el7.x86_64/build M=/root/1904/src/ap-kernelmodule-14.0.1904-0000/symev MODVERDIR=/root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/.tmp_versions-custom-3.10.0-514.el7-x86_64 modules make[1]: Entering directory `/usr/src/kernels/3.10.0-514.el7.x86_64' CC [M] /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.o /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘sym_filename_str’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:191:53: warning: return discards ‘const’ qualifier from pointer target type [enabled by default] static char* sym_filename_str(sym_filename_t* fn) { return fn==NULL? NULL: fn->name; } ^ /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘symev_read_proc_symev’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:696:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 9 has type ‘long unsigned int’ [-Wformat=] ctrsnap.namerr, ctrsnap.nomem, ctrsnap.r_denied); ^ /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘symev_getfinfo’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:2914:33: error: incompatible types when assigning to type ‘unsigned int’ from type ‘atomic_t’ evp->file_mmap_writable = SYM_I_MMAP_WRITABLE(dentry->d_inode->i_data.i_mmap_writable); ^ /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘symev_fgetfinfo’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:2976:33: error: incompatible types when assigning to type ‘unsigned int’ from type ‘atomic_t’ evp->file_mmap_writable = SYM_I_MMAP_WRITABLE(dentry->d_inode->i_data.i_mmap_writable); ^ /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘symev_fpgetfinfo’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:3030:33: error: incompatible types when assigning to type ‘unsigned int’ from type ‘atomic_t’ evp->file_mmap_writable = SYM_I_MMAP_WRITABLE(dentry->d_inode->i_data.i_mmap_writable); ^ /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c: In function ‘symev_dmgetfinfo’: /root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.c:3079:33: error: incompatible types when assigning to type ‘unsigned int’ from type ‘atomic_t’ evp->file_mmap_writable = SYM_I_MMAP_WRITABLE(dentry->d_inode->i_data.i_mmap_writable); ^ make[2]: *** [/root/1904/src/ap-kernelmodule-14.0.1904-0000/symev/symev.o] Error 1 make[1]: *** [_module_/root/1904/src/ap-kernelmodule-14.0.1904-0000/symev] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-514.el7.x86_64' make: *** [custom] Error 2 Mon Nov 14 13:59:02 PST 2016: Build failed
SEP 12.1 RU5 or higher
SEP 14
SEP 12.1 RU6 MP7 (12.1.7166.6700) added Auto-Compile support only for RHEL 7.3, which, prior to installing our product on RHEL 7.3, in addition to the prerequisites mentioned in the System Requirements, requires installing gcc ("yum install gcc"), bzip2 ("yum install bzip2") and the presence of the kernel-devel package specific to the currently installed kernel (e.g. if "uname -r" returns "3.10.0-514.6.2.el7.x86_64", run "yum install kernel-devel-3.10.0-514.6.2.el7.x86_64").
SEP 14 MP1 (14.0.2332.0000) added pre-compiled kernel modules for RHEL 7.3 that support all iterations of the 3.10.0-514 kernel.
While SEP 12.1 RU6 MP8 will not add pre-compiled kernel modules for RHEL 7.3, it will have Auto-Compile suppport for the same.
Please subscribe to this article to be notified of any updates.