Bug#595281: salome: FTBFS on Alpha, IA64 and Sparc at GEOM_GenSK.cc
Aaron M. Ucko
ucko at debian.org
Mon Oct 4 15:10:15 UTC 2010
Adam C Powell IV <hazelsct at debian.org> writes:
> I've put .NOTPARALLEL: in the Makefile.am of that directory and am not
> seeing any problems in three builds (where before it failed every time),
> so I'm pushing this to alioth and marking it pending. Yay!
Sounds good!
> Aaron, do you have any advice on avoiding race conditions in generated
> code? I tried having the omniidl targets include touching a stamp file
> after finishing code generation, but couldn't get that to work.
The problem appears to be that they run the same command:
.idlSK.cc:
$(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
.idl.hh:
$(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
As such, make inadvertantly clobbers one SK.cc file in the course of
(re)generating the corresponding .hh file for the other source file. :-/
If my analysis is correct, you can work around the bug by having the .hh
file claim to depend on the SK.cc file:
%.hh: %SK.cc
%SK.cc: %.idl
$(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
(The .idl -> SK.cc rule could continue to use the traditional syntax,
but I consider modern %-style pattern rules a better choice for two
reasons:
- The somewhat artificial SK.cc -> .hh rule would otherwise need a dummy
command.
- They are clearer, particularly in the face of suffixes not starting
with dots.)
--
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?amu@monk.mit.edu
More information about the debian-science-maintainers
mailing list