Skip to contentSkip to conversation

compile error: 'DMEVENTD_PATH' undeclared

linux-lvm Oliver Rath 2 participants 2 messages Mar 31, 2014

lore
Share & tools
lore
#0 lore raw

Hi list,

if i compile lvm2 (from today) with this configure:

./configure --with-thin=internal --with-cache=internal --with-replicators=internal --enable-udev_sync --enable-udev_rules

then the following occures:
.
.
.
make -C lib
make[1]: Entering directory `/root/lvm2/lib'
gcc -c -I. -I../include -DHAVE_CONFIG_H -DDM_IOCTLS -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -Wredundant-decls -Wpointer-arith -Wuninitialized -Wmissing-include-dirs -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wmissing-format-attribute -Wjump-misses-init -Wclobbered -Wempty-body -Wignored-qualifiers -Wmissing-parameter-type -Wold-style-declaration -Woverride-init -Wtype-limits -Wsync-nand
-Wlogical-op -fPIC -O2 config/config.c -o config/config.o
In file included from config/config.c:70:0:
config/config_settings.h:257:1: error: 'DMEVENTD_PATH' undeclared here (not in a function)
make[1]: *** [config/config.o] Error 1
make[1]: Leaving directory `/root/lvm2/lib'
make: *** [lib] Error 2
.
.

if i take
./configure --with-thin=internal --with-cache=internal --with-replicators=internal --enable-udev_sync --enable-udev_rules --enable-cmdlib --enable-dmeventd

all compiles fine. But I dont know, what dmevetd-flag is good for. Do i run into problems on a Ubuntu 12.04, if i enable additionally --enable-cmdlib --enable-dmeventd
before installing?

Tfh!

Regards
Oliver

#1 lore raw
Quoted 40 lines · Oliver Rath

Hi list,

if i compile lvm2 (from today) with this configure:

./configure --with-thin=internal --with-cache=internal --with-replicators=internal --enable-udev_sync --enable-udev_rules

then the following occures:
.
.
.
make -C lib
make[1]: Entering directory `/root/lvm2/lib'
gcc -c -I. -I../include -DHAVE_CONFIG_H -DDM_IOCTLS -Wall -Wundef

(quoted diff) +0 -8
-Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
-Wformat-security -Wredundant-decls -Wpointer-arith -Wuninitialized
-Wmissing-include-dirs -Wfloat-equal -Wstrict-prototypes
-Wold-style-definition -Wmissing-format-attribute -Wjump-misses-init
-Wclobbered -Wempty-body -Wignored-qualifiers -Wmissing-parameter-type
-Wold-style-declaration -Woverride-init -Wtype-limits -Wsync-nand
-Wlogical-op  -fPIC  -O2    config/config.c -o config/config.o

In file included from config/config.c:70:0:
config/config_settings.h:257:1: error: 'DMEVENTD_PATH' undeclared here (not in a function)
make[1]: *** [config/config.o] Error 1
make[1]: Leaving directory `/root/lvm2/lib'
make: *** [lib] Error 2
.
.

if i take
./configure --with-thin=internal --with-cache=internal --with-replicators=internal --enable-udev_sync --enable-udev_rules --enable-cmdlib --enable-dmeventd

Quoted 6 lines

all compiles fine. But I dont know, what dmevetd-flag is good for. Do i run into problems on a Ubuntu 12.04, if i enable additionally --enable-cmdlib --enable-dmeventd
before installing?

Tfh!

The dmeventd is a device monitoring daemon that monitors mirror, raid, snapshot and thin pool devices and acts on mirror legs being gone, snapshots/pool devices filling up etc... Normally, you should always use dmeventd if you're also using these kinds of volumes as it provides automatic predefined actions.

The problem is in --disable-dmeventd that causes the DMEVENTD_PATH to be undefined here. It should be fixed now:

https://git.fedorahosted.org/cgit/lvm2.git/commit/?id=68bb639a08330c7f06558e51ecab48d6a4ca2854

Thanks for the report!

Signature · 1 line
Peter