Предполагается, что предпочтительным способом является использование pkg-config, поскольку я обнаружил devmapper.pc
в моей системе.(Иногда случается, что вышестоящие проекты не поставляют файл .pc, а дистрибутивы добавляют его, как, например, в случае openssl IIRC, поэтому присутствие файла devmapper.pc
в дистрибутиве, который я использую, может не иметь никакого значения.)
Начиная с вашего configure.ac
, вы вызываете, например,
PKG_CHECK_MODULES([libdevmapper], [devmapper >= 1.02.48])
и используете его в Makefile.am
:
AM_CPPFLAGS = ${libdevmapper_CFLAGS}
bin_PROGRAMS = foo
foo_LDADD = ${libdevmapper_LIBS}
(я выбрал> = 1.02.48, потому что это была одна из версий, где «-EBUSY проблемы», казалось, были исправлены, проблема заключалась в том, что попытка отсоединить устройства dm иногда возвращала -EBUSY, потому что блочный уровень linux не был закончен с их использованием, напримернепосредственно после завершения системного вызова.)