hugin-devs team mailing list archive
-
hugin-devs team
-
Mailing list archive
-
Message #00326
[Bug 679164] Re: hugin invokation of make failure on MAKEFLAGS=-j2
Verified in 2010.4.0. Hugin nowadays invokes "make -f ... info test all
clean", but this does not make a difference, "clean" and "all" still run
in parallell.
--
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:
Incomplete
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