[Pkg-phototools-devel] Bug#525494: hugin creates Makefiles that are not compatible with -j

Andreas Metzler ametzler at downhill.at.eu.org
Sat Apr 25 11:54:05 UTC 2009


On 2009-04-25 Helmut Grohne <helmut at subdivi.de> wrote:
> Package: hugin
> Version: 0.7.0-2
> Severity: important

> The Makefiles hugin creates seem to be incompatible with -j. Having
> MAKEFLAGS=-j2 on my system therefore makes hugin fail badly while
> stitching. There are basically two options:
> 1) unset MAKEFLAGS
> 2) write proper Makefiles
[...]

Hello,
I think the makefiles are ok. The problem is that hugin invokes 

make -f huginmk_xbVYON all clean
instead of
make -f huginmk_xbVYON all && make -f huginmk_xbVYON clean

This causes make to try to do cleaning up and stitching in paralell.
With -j2 and two images, this happens:

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.

cu andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
-------------- next part --------------
# makefile for panorama stitching, created by hugin 



# Tool configuration
NONA=nona
PTSTITCHER=PTStitcher
PTMENDER=PTmender
PTBLENDER=PTblender
PTMASKER=PTmasker
PTROLLER=PTroller
ENBLEND=enblend
ENFUSE=enfuse
SMARTBLEND=smartblend.exe
HDRMERGE=hugin_hdrmerge
RM=rm
EXIFTOOL=exiftool

ifndef ENBLEND
  ENBLEND=false
endif

ifndef ENFUSE
  ENFUSE=false
endif

# options for the programs

NONA_LDR_REMAPPED_COMP=-z PACKBITS
ENBLEND_OPTS=-m 1500 -f2277x4564
ENBLEND_LDR_COMP=--compression LZW
ENBLEND_HDR_COMP=
ENFUSE_OPTS=
EXIFTOOL_COPY_ARGS=-ImageDescription -Make -Model -Artist -WhitePoint -Copyright -GPS:all -DateTimeOriginal -CreateDate -UserComment -ColorSpace -OwnerName -SerialNumber

# the output panorama
LDR_REMAPPED_PREFIX=foooo
LDR_REMAPPED_PREFIX_SHELL=foooo
HDR_STACK_REMAPPED_PREFIX=foooo_hdr_
HDR_STACK_REMAPPED_PREFIX_SHELL=foooo_hdr_
LDR_EXPOSURE_REMAPPED_PREFIX=foooo_exposure_layers_
LDR_EXPOSURE_REMAPPED_PREFIX_SHELL=foooo_exposure_layers_
PROJECT_FILE=/tmp/huginpto_oinZd8
PROJECT_FILE_SHELL=/tmp/huginpto_oinZd8
LDR_BLENDED=foooo.tif
LDR_BLENDED_SHELL=foooo.tif
LDR_STACKED_BLENDED=foooo_fused.tif
LDR_STACKED_BLENDED_SHELL=foooo_fused.tif
HDR_BLENDED=foooo_hdr.exr
HDR_BLENDED_SHELL=foooo_hdr.exr

# first input image
INPUT_IMAGE_1=/tmp/HUGIN/test/IMG_2767.JPG
INPUT_IMAGE_1_SHELL=/tmp/HUGIN/test/IMG_2767.JPG
# all input images
INPUT_IMAGES=/tmp/HUGIN/test/IMG_2767.JPG\
/tmp/HUGIN/test/IMG_2768.JPG\
/tmp/HUGIN/test/IMG_2769.JPG

INPUT_IMAGES_SHELL=/tmp/HUGIN/test/IMG_2767.JPG\
/tmp/HUGIN/test/IMG_2768.JPG\
/tmp/HUGIN/test/IMG_2769.JPG

# remapped images
LDR_LAYERS=foooo0000.tif\
foooo0001.tif\
foooo0002.tif

LDR_LAYERS_SHELL=foooo0000.tif\
foooo0001.tif\
foooo0002.tif

# remapped images (hdr)
HDR_LAYERS=foooo_hdr_0000.exr\
foooo_hdr_0001.exr\
foooo_hdr_0002.exr

HDR_LAYERS_SHELL=foooo_hdr_0000.exr\
foooo_hdr_0001.exr\
foooo_hdr_0002.exr

# remapped maxval images
HDR_LAYERS_WEIGHTS=foooo_hdr_0000_gray.pgm \
foooo_hdr_0001_gray.pgm \
foooo_hdr_0002_gray.pgm 

HDR_LAYERS_WEIGHTS_SHELL=foooo_hdr_0000_gray.pgm\
foooo_hdr_0001_gray.pgm\
foooo_hdr_0002_gray.pgm

# stacked images
HDR_STACKS_NUMBERS = 0 1 2 
HDR_STACK_0 = foooo_stack_hdr_0000.exr
HDR_STACK_0_SHELL = foooo_stack_hdr_0000.exr
HDR_STACK_0_INPUT = foooo_hdr_0000.exr

HDR_STACK_0_INPUT_SHELL = foooo_hdr_0000.exr

HDR_STACK_1 = foooo_stack_hdr_0001.exr
HDR_STACK_1_SHELL = foooo_stack_hdr_0001.exr
HDR_STACK_1_INPUT = foooo_hdr_0001.exr

HDR_STACK_1_INPUT_SHELL = foooo_hdr_0001.exr

HDR_STACK_2 = foooo_stack_hdr_0002.exr
HDR_STACK_2_SHELL = foooo_stack_hdr_0002.exr
HDR_STACK_2_INPUT = foooo_hdr_0002.exr

HDR_STACK_2_INPUT_SHELL = foooo_hdr_0002.exr


HDR_STACKS = $(HDR_STACK_0) $(HDR_STACK_1) $(HDR_STACK_2) 
HDR_STACKS_SHELL = $(HDR_STACK_0_SHELL) $(HDR_STACK_1_SHELL) $(HDR_STACK_2_SHELL) 


# number of image sets with similar exposure
LDR_EXPOSURE_EXPOSURE_LAYERS_NUMBERS = 0 
LDR_EXPOSURE_LAYER_0 = foooo_exposure_00.tif
LDR_EXPOSURE_LAYER_0_SHELL = foooo_exposure_00.tif
LDR_EXPOSURE_LAYER_0_INPUT = foooo_exposure_layers_0000.tif\
foooo_exposure_layers_0001.tif\
foooo_exposure_layers_0002.tif

LDR_EXPOSURE_LAYER_0_INPUT_SHELL = foooo_exposure_layers_0000.tif\
foooo_exposure_layers_0001.tif\
foooo_exposure_layers_0002.tif

LDR_EXPOSURE_LAYER_0_INPUT_PTMENDER = foooo0000.tif\
foooo0001.tif\
foooo0002.tif

LDR_EXPOSURE_LAYER_0_INPUT_PTMENDER_SHELL = foooo0000.tif\
foooo0001.tif\
foooo0002.tif
LDR_EXPOSURE_LAYER_0_EXPOSURE = 23.8605

LDR_EXPOSURE_LAYERS = $(LDR_EXPOSURE_LAYER_0) 
LDR_EXPOSURE_LAYERS_SHELL = $(LDR_EXPOSURE_LAYER_0_SHELL) 
LDR_EXPOSURE_LAYERS_REMAPPED = foooo_exposure_layers_0000.tif\
foooo_exposure_layers_0001.tif\
foooo_exposure_layers_0002.tif

LDR_EXPOSURE_LAYERS_REMAPPED_SHELL = foooo_exposure_layers_0000.tif\
foooo_exposure_layers_0001.tif\
foooo_exposure_layers_0002.tif


# stacked images for enfuse or other automatic exposure blending tools
LDR_STACKS_NUMBERS = 0 1 2 
LDR_STACK_0 = foooo_stack_ldr_0000.tif
LDR_STACK_0_SHELL = foooo_stack_ldr_0000.tif
LDR_STACK_0_INPUT = foooo_exposure_layers_0000.tif

LDR_STACK_0_INPUT_SHELL = foooo_exposure_layers_0000.tif

LDR_STACK_1 = foooo_stack_ldr_0001.tif
LDR_STACK_1_SHELL = foooo_stack_ldr_0001.tif
LDR_STACK_1_INPUT = foooo_exposure_layers_0001.tif

LDR_STACK_1_INPUT_SHELL = foooo_exposure_layers_0001.tif

LDR_STACK_2 = foooo_stack_ldr_0002.tif
LDR_STACK_2_SHELL = foooo_stack_ldr_0002.tif
LDR_STACK_2_INPUT = foooo_exposure_layers_0002.tif

LDR_STACK_2_INPUT_SHELL = foooo_exposure_layers_0002.tif


LDR_STACKS = $(LDR_STACK_0) $(LDR_STACK_1) $(LDR_STACK_2) 
LDR_STACKS_SHELL = $(LDR_STACK_0_SHELL) $(LDR_STACK_1_SHELL) $(LDR_STACK_2_SHELL) 
TEMP_FILES_SHELL = $(LDR_LAYERS_SHELL) 

all: $(LDR_BLENDED) 

clean: 
	-$(RM) $(TEMP_FILES_SHELL)

# Rules for ordinary TIFF_m output
foooo0000.tif: /tmp/HUGIN/test/IMG_2767.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -m TIFF_m -o $(LDR_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

foooo0001.tif: /tmp/HUGIN/test/IMG_2768.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -m TIFF_m -o $(LDR_REMAPPED_PREFIX_SHELL) -i 1 $(PROJECT_FILE_SHELL)

foooo0002.tif: /tmp/HUGIN/test/IMG_2769.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -m TIFF_m -o $(LDR_REMAPPED_PREFIX_SHELL) -i 2 $(PROJECT_FILE_SHELL)

# Rules for merge to hdr output
foooo_hdr_0000.exr: /tmp/HUGIN/test/IMG_2767.JPG $(PROJECT_FILE)
	$(NONA) -r hdr -m EXR_m -o $(HDR_STACK_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

foooo_hdr_0001.exr: /tmp/HUGIN/test/IMG_2768.JPG $(PROJECT_FILE)
	$(NONA) -r hdr -m EXR_m -o $(HDR_STACK_REMAPPED_PREFIX_SHELL) -i 1 $(PROJECT_FILE_SHELL)

foooo_hdr_0002.exr: /tmp/HUGIN/test/IMG_2769.JPG $(PROJECT_FILE)
	$(NONA) -r hdr -m EXR_m -o $(HDR_STACK_REMAPPED_PREFIX_SHELL) -i 2 $(PROJECT_FILE_SHELL)

# Rules for exposure layer output
foooo_exposure_layers_0000.tif: /tmp/HUGIN/test/IMG_2767.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -e 11.9366 -m TIFF_m -o $(LDR_EXPOSURE_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

foooo_exposure_layers_0001.tif: /tmp/HUGIN/test/IMG_2768.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -e 12.0407 -m TIFF_m -o $(LDR_EXPOSURE_REMAPPED_PREFIX_SHELL) -i 1 $(PROJECT_FILE_SHELL)

foooo_exposure_layers_0002.tif: /tmp/HUGIN/test/IMG_2769.JPG $(PROJECT_FILE)
	$(NONA) $(NONA_LDR_REMAPPED_COMP) -r ldr -e 11.8134 -m TIFF_m -o $(LDR_EXPOSURE_REMAPPED_PREFIX_SHELL) -i 2 $(PROJECT_FILE_SHELL)

$(HDR_STACK_0) : $(HDR_STACK_0_INPUT)
	$(HDRMERGE) -m avg -c -o $(HDR_STACK_0_SHELL) $(HDR_STACK_0_INPUT_SHELL)

$(HDR_STACK_1) : $(HDR_STACK_1_INPUT)
	$(HDRMERGE) -m avg -c -o $(HDR_STACK_1_SHELL) $(HDR_STACK_1_INPUT_SHELL)

$(HDR_STACK_2) : $(HDR_STACK_2_INPUT)
	$(HDRMERGE) -m avg -c -o $(HDR_STACK_2_SHELL) $(HDR_STACK_2_INPUT_SHELL)

$(LDR_STACK_0) : $(LDR_STACK_0_INPUT)
	$(ENFUSE) $(ENFUSE_OPTS) -o $(LDR_STACK_0_SHELL) $(LDR_STACK_0_INPUT_SHELL)
	- $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_STACK_0_SHELL)

$(LDR_STACK_1) : $(LDR_STACK_1_INPUT)
	$(ENFUSE) $(ENFUSE_OPTS) -o $(LDR_STACK_1_SHELL) $(LDR_STACK_1_INPUT_SHELL)
	- $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_STACK_1_SHELL)

$(LDR_STACK_2) : $(LDR_STACK_2_INPUT)
	$(ENFUSE) $(ENFUSE_OPTS) -o $(LDR_STACK_2_SHELL) $(LDR_STACK_2_INPUT_SHELL)
	- $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_STACK_2_SHELL)

$(LDR_BLENDED) : $(LDR_LAYERS)
	$(ENBLEND) $(ENBLEND_LDR_COMP) $(ENBLEND_OPTS) -o $(LDR_BLENDED_SHELL) $(LDR_LAYERS_SHELL) 
	- $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_BLENDED_SHELL)

$(LDR_EXPOSURE_LAYER_0) : $(LDR_EXPOSURE_LAYER_0_INPUT)
	$(ENBLEND) $(ENBLEND_LDR_COMP) $(ENBLEND_OPTS) -o $(LDR_EXPOSURE_LAYER_0_SHELL) $(LDR_EXPOSURE_LAYER_0_INPUT_SHELL)
	-$(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_EXPOSURE_LAYER_0_SHELL)

$(LDR_STACKED_BLENDED) : $(LDR_STACKS)
	$(ENBLEND) $(ENBLEND_LDR_COMP) $(ENBLEND_OPTS) -o $(LDR_STACKED_BLENDED_SHELL) $(LDR_STACKS_SHELL) 
	- $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_STACKED_BLENDED_SHELL)

$(HDR_BLENDED) : $(HDR_STACKS)
	$(ENBLEND) $(ENBLEND_HDR_COMP) $(ENBLEND_OPTS) -o $(HDR_BLENDED_SHELL) $(HDR_STACKS_SHELL) 



More information about the Pkg-phototools-devel mailing list