udisks
udisks copied to clipboard
Failed to build on Ubuntu 20.04 LTS
Hi, While trying to build release 2.9.3 on Ubuntu 20.04 LTS, I got the following error
Making install in data
make[1]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data'
Making install in tmpfiles.d
make[2]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data/tmpfiles.d'
make[3]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data/tmpfiles.d'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/usr/lib/tmpfiles.d'
/usr/bin/install -c -m 644 udisks2.conf '/usr/lib/tmpfiles.d'
make[3]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data/tmpfiles.d'
make[2]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data/tmpfiles.d'
make[2]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data'
GEN org.freedesktop.UDisks2.policy
make[3]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/usr/local/share/bash-completion/completions'
/usr/bin/install -c -m 644 completions/udisksctl '/usr/local/share/bash-completion/completions'
/usr/bin/mkdir -p '/usr/local/share/dbus-1/system.d'
/usr/bin/install -c -m 644 org.freedesktop.UDisks2.conf '/usr/local/share/dbus-1/system.d'
/usr/bin/mkdir -p '/usr/local/share/dbus-1/system-services'
/usr/bin/install -c -m 644 org.freedesktop.UDisks2.service '/usr/local/share/dbus-1/system-services'
GEN org.freedesktop.UDisks2.policy
/usr/bin/mkdir -p '/usr/local/share/polkit-1/actions'
/usr/bin/install -c -m 644 ./org.freedesktop.UDisks2.policy '/usr/local/share/polkit-1/actions'
/usr/bin/install: cannot stat './org.freedesktop.UDisks2.policy': No such file or directory
make[3]: *** [Makefile:563: install-polkitDATA] Error 1
make[3]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data'
make[2]: *** [Makefile:796: install-am] Error 2
make[2]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data'
make[1]: *** [Makefile:632: install-recursive] Error 1
make[1]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data'
make: *** [Makefile:514: install-recursive] Error 1
The issue is that org.freedesktop.UDisks2.policy isn't actually generated, even if make output seems to indicate it is.
If I manually generate it by copy (note there are no template variables):
$ cp data/org.freedesktop.UDisks2.policy.in data/org.freedesktop.UDisks2.policy
I'm able to get past the error and build successfully.
According to your make.log the file should have been generated:
make[3]: Entering directory '/home/ubuntu/x/udisks-2.9.3/data'
cp org.freedesktop.UDisks2.conf.in org.freedesktop.UDisks2.conf
GEN org.freedesktop.UDisks2.policy
make[3]: Leaving directory '/home/ubuntu/x/udisks-2.9.3/data'
Can you try calling make V=1 to get verbose output? You should be seeing something like this:
make[3]: Entering directory '/tmp/udisks-2.9.3/data'
cp org.freedesktop.UDisks2.conf.in org.freedesktop.UDisks2.conf
/usr/bin/msgfmt --xml --template org.freedesktop.UDisks2.policy.in -d ../po -o org.freedesktop.UDisks2.policy
make[3]: Leaving directory '/tmp/udisks-2.9.3/data'
@gravity64, any progress?
I just had the same issue. My output for make V=1 install was as follows
Making install in data
make[1]: Entering directory '/home/rgingras/Downloads/udisks-2.9.4/data'
Making install in tmpfiles.d
make[2]: Entering directory '/home/rgingras/Downloads/udisks-2.9.4/data/tmpfiles.d'
make[3]: Entering directory '/home/rgingras/Downloads/udisks-2.9.4/data/tmpfiles.d'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/usr/lib/tmpfiles.d'
/usr/bin/install -c -m 644 udisks2.conf '/usr/lib/tmpfiles.d'
make[3]: Leaving directory '/home/rgingras/Downloads/udisks-2.9.4/data/tmpfiles.d'
make[2]: Leaving directory '/home/rgingras/Downloads/udisks-2.9.4/data/tmpfiles.d'
make[2]: Entering directory '/home/rgingras/Downloads/udisks-2.9.4/data'
: --xml --template org.freedesktop.UDisks2.policy.in -d ../po -o org.freedesktop.UDisks2.policy
make[3]: Entering directory '/home/rgingras/Downloads/udisks-2.9.4/data'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/usr/local/share/bash-completion/completions'
/usr/bin/install -c -m 644 completions/udisksctl '/usr/local/share/bash-completion/completions'
/usr/bin/mkdir -p '/usr/local/share/dbus-1/system.d'
/usr/bin/install -c -m 644 org.freedesktop.UDisks2.conf '/usr/local/share/dbus-1/system.d'
/usr/bin/mkdir -p '/usr/local/share/dbus-1/system-services'
/usr/bin/install -c -m 644 org.freedesktop.UDisks2.service '/usr/local/share/dbus-1/system-services'
: --xml --template org.freedesktop.UDisks2.policy.in -d ../po -o org.freedesktop.UDisks2.policy
/usr/bin/mkdir -p '/usr/local/share/polkit-1/actions'
/usr/bin/install -c -m 644 ./org.freedesktop.UDisks2.policy '/usr/local/share/polkit-1/actions'
/usr/bin/install: cannot stat './org.freedesktop.UDisks2.policy': No such file or directory
make[3]: *** [Makefile:563: install-polkitDATA] Error 1
make[3]: Leaving directory '/home/rgingras/Downloads/udisks-2.9.4/data'
make[2]: *** [Makefile:796: install-am] Error 2
make[2]: Leaving directory '/home/rgingras/Downloads/udisks-2.9.4/data'
make[1]: *** [Makefile:632: install-recursive] Error 1
make[1]: Leaving directory '/home/rgingras/Downloads/udisks-2.9.4/data'
make: *** [Makefile:514: install-recursive] Error 1
I noticed that GEN was expanding to the : instead of /usr/bin/msgfmt and was able to successfully install after getting the gettext package which provides msgfmt on Ubuntu.
I see, thanks for the output. msgfmt detection is taking place during configure:
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
If I take it away, configure wouldn't fail:
checking whether NLS is requested... yes
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
Actually, in a failure case the variable only contains the color character (':'). This is coming from po.m4 from gettext-devel:
dnl Search for GNU msgfmt in the PATH.
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
dnl The second test excludes FreeBSD msgfmt.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)