In libmultipath Makefile it is checked if the
symbol dm_task_no_flush is defined within the device mapper
library. On my system beside the library there exists a
symbolic link within the same directory pointing to this
library and containing libdevmapper.so in it's name:
lrwxrwxrwx 1 root root 20 Sep 22 22:15 /lib64/libdevmapper.so -> libdevmapper.so.1.02
-rwxr-xr-x 1 root root 89928 Feb 14 2008 /lib64/libdevmapper.so.1.02
In this case "grep -c" returns a 2 instead of 1 that is assumed
in the Makefile. I changed this check to not equal zero.
LIBDM_API_FLUSH = $(shell if test -d /lib64 ; then objdump -T /lib64/libdevmapper.so* ; else objdump -T /lib/libdevmapper.so.* ; fi | grep -c dm_task_no_flush)
-ifeq ($(strip $(LIBDM_API_FLUSH)),1)
+ifneq ($(strip $(LIBDM_API_FLUSH)),0)
CFLAGS += -DLIBDM_API_FLUSH
endif