On Tue, 4 Oct 2016, Santiago Vila wrote: > But in either case, look at the error message. It's essentially like > this: > > /usr/bin/install -c -m 644 > some-files _generated/errors.py some-files _generated/errors.py some-files > directory > > This fails because _generated/errors.py is listed twice.
And in fact the patch below shows that $(BUILT_SOURCES), which is what the install target tries to install, contains _generated/errors.py twice. To test it, apply the patch, build the package with "dpkg-buildpackage -A" and then try: make -C src show_BUILT_SOURCES | grep --color _generated/errors.py You should see _generated/errors.py twice, one because it's listed explicitly and another one as the result of the patsubst in spec_files. The question, then, is not why it fails, but why it does not always fail. Please try to explain how the current Makefile tries to avoid the failure. I guess it relies on wildcard $(spec_dir)/*.xml having a particular order, but the order of such wildcard expansion depends on filesystem ordering, so it may be anything. So I really think there is a Makefile bug here, even if can't explain it in full. please forward the bug upstream. Thanks. --- a/src/Makefile.in +++ b/src/Makefile.in @@ -223,6 +223,9 @@ BUILT_SOURCES = \ _generated/__init__.py \ $(spec_files) +show_BUILT_SOURCES: + @echo $(BUILT_SOURCES) + generateddir = $(telepathydir)/_generated nodist_generated_PYTHON = $(BUILT_SOURCES)