bsc-performance-tools / extrae

Instrumentation framework to generate execution traces of the most used parallel runtimes.
https://tools.bsc.es/extrae
GNU Lesser General Public License v2.1
63 stars 40 forks source link

Parallel make install fails #18

Closed devreal closed 6 years ago

devreal commented 6 years ago

I frequently use make install -j4 to combine building and installation of configured projects into one command. For Extrae, this breaks:

$ make install -j4
[...]
cp extrae-vars.sh $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc
rm -fr $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc/extrae-vars.sh $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc/extrae-vars.csh
Preparing configured script for SH
echo "export PACKAGE_NAME=Extrae" >> extrae-vars.sh
echo "export PACKAGE_BUGREPORT=tools@bsc.es" >> extrae-vars.sh
chmod 0644 $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc/extrae-vars.sh
chmod: cannot access '$HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc/extrae-vars.sh': No such file or directory
Makefile:757: recipe for target 'SHscripts' failed
make[3]: *** [SHscripts] Error 1
make[3]: *** Waiting for unfinished jobs....
echo "export CONFIGURE_LINE=\"`head -7 ../config.log | tail -1`\"" >> extrae-vars.sh
cp ../../etc/configured.sh $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc
chmod 0755 $HOME/opt/extrae-3.5.4-gnu7.3.0-shared/etc/configured.sh
make[3]: Leaving directory '$HOME/src/extrae/extrae-3.5.4/build/etc'
Makefile:659: recipe for target 'install-data-am' failed
make[2]: *** [install-data-am] Error 2
make[2]: Leaving directory '$HOME/src/extrae/extrae-3.5.4/build/etc'
Makefile:614: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '$HOME/src/extrae/extrae-3.5.4/build/etc'
Makefile:1097: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

It seems that there is a race in the creation and installation of the extrae-vars.sh file.