latchset / clevis

Automated Encryption Framework
GNU General Public License v3.0
894 stars 100 forks source link

Failing udisks2 dependency on Ubuntu 19.04+ #126

Closed bviktor closed 4 years ago

bviktor commented 4 years ago
$ meson build
The Meson build system
Version: 0.49.0
Source dir: /home/aiadmin/Downloads/clevis
Build dir: /home/aiadmin/Downloads/clevis/build
Build type: native build
Project name: clevis
Project version: 11
Native C compiler: cc (gcc 8.3.0 "cc (Ubuntu 8.3.0-6ubuntu1) 8.3.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Dependency jansson found: YES 2.12
Dependency jose found: YES 10
Program a2x found: NO
Dependency bash-completion found: YES 2.8
Dependency libcryptsetup found: YES 2.1.0
Dependency luksmeta found: YES 9
Program pwmake found: YES (/usr/bin/pwmake)
Dependency systemd found: YES 240
Found CMake: /usr/bin/cmake (3.13.4)
Dependency dracut found: NO (tried pkgconfig and cmake)
src/luks/systemd/dracut/clevis/meson.build:20: WARNING: Will not install dracut module due to missing dependencies!
Dependency dracut found: NO (tried pkgconfig and cmake)
src/luks/systemd/dracut/clevis-pin-tang/meson.build:13: WARNING: Will not install dracut module clevis-pin-tang due to missing dependencies!
Dependency dracut found: NO (tried pkgconfig and cmake)
src/luks/systemd/dracut/clevis-pin-tpm2/meson.build:13: WARNING: Will not install dracut module clevis-pin-tpm2 due to missing dependencies!
Dependency dracut found: NO (tried pkgconfig and cmake)
src/luks/systemd/dracut/clevis-pin-sss/meson.build:13: WARNING: Will not install dracut module clevis-pin-sss due to missing dependencies!
Configuring clevis-luks-askpass.service using configuration
Dependency audit found: YES 2.8.3
Dependency udisks2 found: YES 2.8.2
Configuring clevis-luks-udisks2.desktop using configuration
Dependency libcrypto found: YES 1.1.1b
Program /home/aiadmin/Downloads/clevis/src/pins/sss/pin-sss found: YES (/home/aiadmin/Downloads/clevis/src/pins/sss/pin-sss)
Program /home/aiadmin/Downloads/clevis/src/pins/sss/pin-test found: YES (/home/aiadmin/Downloads/clevis/src/pins/sss/pin-test)
Program systemd-socket-activate found: YES (/usr/bin/systemd-socket-activate)
Program /usr/local/libexec/tangd-keygen found: NO
Program /usr/libexec/tangd-keygen found: NO
Program /usr/local/libexec/tangd-update found: NO
Program /usr/libexec/tangd-update found: NO
Program /usr/local/libexec/tangd found: NO
Program /usr/libexec/tangd found: NO
Program curl found: YES (/usr/bin/curl)
src/pins/tang/meson.build:41: WARNING: Will not run tang tests due to missing dependencies!
Program tpm2_createprimary found: YES (/usr/bin/tpm2_createprimary)
Program tpm2_pcrread found: NO
Program tpm2_pcrlist found: YES (/usr/bin/tpm2_pcrlist)
Program tpm2_createpolicy found: YES (/usr/bin/tpm2_createpolicy)
Program tpm2_create found: YES (/usr/bin/tpm2_create)
Program tpm2_load found: YES (/usr/bin/tpm2_load)
Program tpm2_unseal found: YES (/usr/bin/tpm2_unseal)
meson.build:60: WARNING: Will not build man pages due to missing dependencies!
Build targets in project: 3
Found ninja-1.8.2 at /usr/bin/ninja
$ ninja -C build
ninja: Entering directory `build'
[1/8] Compiling C object 'src/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe/clevis-luks-udisks2.c.o'.
FAILED: src/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe/clevis-luks-udisks2.c.o 
cc -Isrc/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe -Isrc/luks/udisks2 -I../src/luks/udisks2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -g -Wall -Wextra -Werror -Wstrict-aliasing -Wchar-subscripts -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wshadow -Wsign-compare -Wstrict-prototypes -Wtype-limits -Wunused-function -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unknown-pragmas -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L '-DBINDIR="/usr/local/bin"' '-DCLEVIS_USER="clevis"' '-DCLEVIS_GROUP="clevis"'  -MD -MQ 'src/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe/clevis-luks-udisks2.c.o' -MF 'src/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe/clevis-luks-udisks2.c.o.d' -o 'src/luks/udisks2/f1ca9e8@@clevis-luks-udisks2@exe/clevis-luks-udisks2.c.o' -c ../src/luks/udisks2/clevis-luks-udisks2.c
../src/luks/udisks2/clevis-luks-udisks2.c:20:10: fatal error: udisks/udisks.h: No such file or directory
 #include <udisks/udisks.h>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
[5/8] Compiling C object 'src/pins/sss/1b1ef4e@@clevis-encrypt-sss@exe/sss.c.o'.
ninja: build stopped: subcommand failed.
$ find / -name udisks.h 2>/dev/null
/usr/include/udisks2/udisks/udisks.h
$ cat  /usr/lib/x86_64-linux-gnu/pkgconfig/udisks2.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

Name: UDisks Library
Description: UDisks Client Library
Version: 2.8.2
Requires: gio-2.0,gobject-2.0,glib-2.0
Libs: -L${libdir} -ludisks2
Cflags: -I${includedir}/udisks2

Works on 18.04. The pkg-config file and the include file location seems to be identical there.

superm1 commented 4 years ago

I hit the same thing in a docker container. You're missing libglib2.0-dev. I've submitted a PR that will make this clearer.

bviktor commented 4 years ago

Thank you :)