← Back to team overview

hugin-devs team mailing list archive

[Bug 679164] Re: hugin invokation of make failure on MAKEFLAGS=-j2

 

[Expired for Hugin because there has been no activity for 60 days.]

** Changed in: hugin
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/679164

Title:
  hugin invokation of make failure on MAKEFLAGS=-j2

Status in Hugin - Panorama Tools GUI:
  Expired

Bug description:
  Hello,

  this has originally been reported by Helmut Grohne in <http://bugs.debian.org/525494>.
  ----------------------------------
  nona -z PACKBITS -r ldr -m TIFF_m -o blah -i 0 /tmp/huginpto_deFg2s
  nona -z PACKBITS -r ldr -m TIFF_m -o blah -i 1 /tmp/huginpto_deFg2s
  nona -z PACKBITS -r ldr -m TIFF_m -o blah -i 2 /tmp/huginpto_deFg2s
  rm blah0000.tif blah0001.tif blah0002.tif 
  enblend --compression LZW -m 1500 -f2277x4564 -o blah.tif blah0000.tif blah0001.tif blah0002.tif 

  enblend: error opening input file "blah0000.tif":

  Precondition violation!
  Unable to open file 'blah0000.tif'.

  make: *** [blah.tif] Fehler 1
  ----------------------------------

  Hugin stitiching breaks if MAKEFLAGS=-j2 is set. The reason is a rather simple one, during stitching hugin invokes "make all clean". With parallelisation clean is run before all is finished and this happens with three images and -j2 (xa and xb are run in parallel):
  1a nona for image 1
  1b nona for image 2
  ------
  2a nona for image 3
  2b rm temporary files, including the output the first nona invocations
  ------
  3a run enblend, which fails due to missing files.

  The correct fix is to only run clean after all has finished (make all && make clean). Removing MAKEFLAGS from the environment might not hurt but should be configurable.
  See also <https://sourceforge.net/tracker/?func=detail&aid=2781240&group_id=77506&atid=550441>.

  This is verified for 0.7.0, but afaict this should also apply to SVN
  HEAD (0.8.0 prerelease r3801), which invokes "make test all clean".

  thanks, cu andreas