The rule to create symlink in Makefile caused parallel issue:
$ make -j 40 DESTDIR=/image install BUILD_VERBOSE=1
...
1 [LN] libbtrfs.so.0
2 [LN] libbtrfs.so
3 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
4 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
5 ln -s -f libbtrfs.so.0.1 libbtrfs.so
6 ln -s -f libbtrfs.so.0.1 libbtrfs.so
...
It failed occasionally:
...
|symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink
creation succeeded (No such file or directory).
|ln: failed to create symbolic link 'libbtrfs.so': No such file or directory
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: David Sterba <dsterba@suse.com>
$(lib_links):
@echo " [LN] $@"
- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so.0
- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so
+ $(Q)$(LN_S) -f libbtrfs.so.0.1 $@
# keep intermediate files from the below implicit rules around
.PRECIOUS: $(addsuffix .o,$(progs))