テクニカル ドキュメント #8



Doc ID: 8
製品: WinDriver
Version:  5.2X

Linux RedHat 7.2 プラットフォームの PC に WinDriver v5.20 をインストールすると、以下のビルド エラーが発生します:
    Unresolved symbol alloc_kiovec
    Unresolved symbol free_kiovec
どのように対処すればよいですか?

Linux RedHat 7.2 で、alloc_kiovec() および free_kiovec() 関数を変更したので、これらのエラーが発生します。WinDriver の v5.22 では、このエラーを削除するために、このバージョンの Linux が使用する makefile の KIOBUF_WITH_SIZE の値を設定して、WinDriver Linux makefile (WinDriver/redist/makefile) を修正しました。WinDriver v5.20 または v5.21 を使用する際には、makefile の KIOBUF_WITH_SIZE の値を 0 から 1 へ変更し、コードをリビルドすることによって、エラーを回避できます:

# 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

上記の内容はまた、以下のビルド エラーにもあてはまります:
    >> /lib/modules/misc/windrvr.o :
    unresolved symbol unmap_kiobuf_Rsmp_e3e9865e