This is quite subtle (but your dix is correct). RPM buries _EVERYTHING_ in
#include "system.h". Sadly there are certain #define's for POSIX and standard features that MUST be set before any other include. Python (and likely ruby: though I've forgotten details, if "system.h" was present, it was to ensure that certain #define's were performed before everything else was included). While the behavior is pedantically correct, its based on a certain development paradigm, and is one other issue that could/should be done better for ruby packaging. Meanwhile, #include "system.h" which then does #include "../system.h" is a bit confusing and the issues should be fixed in other ways. The above was the minimum necessary change to achieve a goa: Set some #define's in a *.h before any other system *.h is included. 73 de Jeff On Nov 13, 2010, at 10:21 AM, Eric Veith wrote: > RPM Package Manager, CVS Repository > http://rpm5.org/cvs/ > ____________________________________________________________________________ > > Server: rpm5.org Name: Eric Veith > Root: /v/rpm/cvs Email: eve...@rpm5.org > Module: rpm Date: 13-Nov-2010 16:21:23 > Branch: HEAD Handle: 2010111315212300 > > Modified files: > rpm/ruby system.h > > Log: > Fix unlikely double-inclusion due to HAVE_PYTHON_H in ruby/system.h > > Summary: > Revision Changes Path > 1.4 +3 -3 rpm/ruby/system.h > ____________________________________________________________________________ > > patch -p0 <<'@@ .' > Index: rpm/ruby/system.h > ============================================================================ > $ cvs diff -u -r1.3 -r1.4 system.h > --- rpm/ruby/system.h 27 Oct 2010 01:01:17 -0000 1.3 > +++ rpm/ruby/system.h 13 Nov 2010 15:21:23 -0000 1.4 > @@ -1,5 +1,5 @@ > -#ifndef H_SYSTEM_PYTHON > -#define H_SYSTEM_PYTHON > +#ifndef H_SYSTEM_RUBY > +#define H_SYSTEM_RUBY > > #include "../system.h" > > @@ -38,4 +38,4 @@ > #define xfree _xfree > #undef xfree > > -#endif /* H_SYSTEM_PYTHON */ > +#endif /* H_SYSTEM_RUBY */ > @@ . > ______________________________________________________________________ > RPM Package Manager http://rpm5.org > CVS Sources Repository rpm-...@rpm5.org ______________________________________________________________________ RPM Package Manager http://rpm5.org Developer Communication List rpm-devel@rpm5.org