[Spread-users] Install rule in Makefile for 4.2 does not support multiple make jobs

Johannes Wienke jwienke at techfak.uni-bielefeld.de
Thu Apr 4 04:26:50 EDT 2013


I think I found a new bug in the Makefiles for the 4.2 release of
spread. Apparently, the install rules are do not support multiple make
jobs (with -j). In my case this always ends up in the .so files not
being installed:

make[1]: Entering directory
../buildtools/mkinstalldirs /tmp/bla/usr/lib
/usr/bin/install -c -m 0755 libspread.so /tmp/bla/usr/lib/libspread.so.3.0.0
/usr/bin/install -c -m 0755 libspread-core.so
/usr/bin/install: cannot create regular file
‘/tmp/bla/usr/lib/libspread.so.3.0.0’: No such file or directory
make[1]: *** [install-libspread.so] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/bin/install: cannot create regular file
‘/tmp/bla/usr/lib/libspread-core.so.3.0.0’: No such file or directory
make[1]: *** [install-libspread-core.so] Error 1
mkdir /tmp/bla/usr/lib
../buildtools/mkinstalldirs /tmp/bla/usr/include
/usr/bin/install -c -m 644 libspread.a /tmp/bla/usr/lib/libspread.a
/usr/bin/install -c -m 644 libspread-core.a
/usr/bin/install -c -m 644 libtspread-core.a
/usr/bin/install -c -m 644 ../include/sp.h /tmp/bla/usr/include/sp.h
/usr/bin/install -c -m 644 ../include/sp_func.h
/usr/bin/install -c -m 644 ../include/sp_events.h
/usr/bin/install -c -m 644 ../include/fl.h /tmp/bla/usr/include/fl.h

The problem I see in the libspread/Makefile is that the install rules
for the shared libraries implicitly depend on the install-files target,
which initially created $(DESTDIR)$(libdir). As this dependency is not
explicit and in case of multiple jobs ordering of dependencies is not
obeyed, the installs for the shared libraries are executed before the
libdir was created.

For my own needs I will do a quick workaround by disabling parallel
builds, but ultimately this should be fixed.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
Url : http://lists.spread.org/pipermail/spread-users/attachments/20130404/5ebb6ed7/attachment.bin 

More information about the Spread-users mailing list