Technical Document #8

Technical Document #8        [Product Version: 5.2.X]
When trying to install WinDriver v5.2.0 on my PC, using the Linux RedHat 7.2 distribution, I got unresolved symbol errors pertaining to alloc_kiovec() and free_kiovec(). How can I resolve these errors?

These errors are due to a change in the alloc_kiovec() and free_kiovec() functions in the Linux RedHat 7.2 distribution.
In version 5.2.2 of WinDriver we have modified the WinDriver Linux makefile (WinDriver/redist/makefile) in order to eliminate this error, by setting the value of KIOBUF_WITH_SIZE in the makefile according to the Linux distribution that is being used. When using version 5.2.0 or 5.2.1 of WinDriver, you can resolve this error by changing the value of KIOBUF_WITH_SIZE in the makefile (WinDriver/redist/makefile) from 0 to 1 and then rebuild the code (as documented in the makefile itself — Ln28):

# Change KIOBUF_WITH_SIZE value to 1 if in the file
# /usr/src/linux/include/linux/iobuf.h the following function is defined:
# int alloc_kiovec_sz(int nr, struct kiobuf **, int *);
KIOBUF_WITH_SIZE=0

The above is also true for the following build error:
    >> /lib/modules/misc/windrvr.o :
    unresolved symbol unmap_kiobuf_Rsmp_e3e9865e