Bug#595281: salome: FTBFS on Alpha, IA64 and Sparc at GEOM_GenSK.cc
Adam C Powell IV
hazelsct at debian.org
Mon Oct 4 19:38:43 UTC 2010
On Mon, 2010-10-04 at 11:10 -0400, Aaron M. Ucko wrote:
> Adam C Powell IV <hazelsct at debian.org> writes:
> > 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. :-/
Ah, that makes a lot of sense, and explains why there were so often
compilation errors in the SK.cc files.
> 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) $<
Very strange, that fails with:
make[2]: Entering directory `/home/hazelsct/repositories/salome/build-salome/GEOM_SRC_5.1.3/idl'
Makefile:907: warning: overriding commands for target `mostlyclean-local'
Makefile:880: warning: ignoring old commands for target `mostlyclean-local'
/usr/bin/omniidl -bcxx -Wba -nf -I/usr/idl -I../idl/salome -I/home/hazelsct/repositories/salome/debian/salome/usr/idl/salome -Wba -nf -I/usr/idl ../../../GEOM_SRC_5.1.3/idl/GEOM_Gen.idl
/usr/bin/omniidl -bcxx -Wba -nf -I/usr/idl -I../idl/salome -I/home/hazelsct/repositories/salome/debian/salome/usr/idl/salome -Wba -nf -I/usr/idl ../../../GEOM_SRC_5.1.3/idl/GEOM_Superv.idl
make[2]: *** No rule to make target `GEOM_Gen.hh', needed by `all-am'. Stop.
make[2]: *** Waiting for unfinished jobs....
Maybe because the SK.cc file timestamp is after the .hh?
> (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.
I wonder if it needs a dummy command anyway. Yup, sticking in a dummy
command worked, without .NOTPARALLEL: .
> - They are clearer, particularly in the face of suffixes not starting
> with dots.)
I agree completely.
-Adam
--
GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6
Engineering consulting with open source tools
http://www.opennovation.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20101004/c8981ed0/attachment-0001.pgp>
More information about the debian-science-maintainers
mailing list