Parallel build issue
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
eCryptfs |
New
|
Undecided
|
Unassigned |
Bug Description
Build randomly fails since December 2017 on buildroot (http://
make[5]: Entering directory '/home/
/bin/mkdir -p '/home/
/bin/bash ../../libtool --mode=install /usr/bin/install -c mount.ecryptfs umount.ecryptfs mount.ecryptfs_
libtool: install: /usr/bin/install -c mount.ecryptfs /home/buildroot
/usr/bin/install: cannot create regular file '/home/
Makefile:832: recipe for target 'install-
make[5]: *** [install-
As spotted by Thomas Petazzoni, build failure happens because of the following line in src/utils/
install-exec-hook: install-
-rm -f "$(DESTDIR)
$(LN_S) "mount.
The install-exec-hook target should not have a dependency on
install-
From https:/
"""
In contrast, some rules also have a way to run another rule, called a
hook; hooks are always executed after the main rule’s work is done. The
hook is named after the principal target, with ‘-hook’ appended. The
targets allowing hooks are install-data, install-exec, uninstall, dist,
and distcheck.
For instance, here is how to create a hard link to an installed program:
install-exec-hook:
ln $(DESTDIR)
"""
So, they explicitly say that these hooks are run after the main rule
work is done, which means the dependency on install-
not needed. And the example they use to illustrate is *exactly* the
situation of ecryptfs-utils: creating a link to a program that was
installed.