[Monetdb-developers] Compiling pathfinder (Stable) failed on GNU.32.32.d.1-Debian4.0

Stefan Manegold Stefan.Manegold at cwi.nl
Fri May 1 07:52:27 CEST 2009


On Fri, May 01, 2009 at 05:56:16AM +0200, Testweb Compilation wrote:
>                  from lex.pf.c:19:
> /usr/include/features.h:150:1: error: this is the location of the previous definition
> make[5]: *** [libparser_la-scanner.yy.lo] Error 1
> 
> http://www.ins.cwi.nl/~monet/permastore/2009-05-01/Stable/make-pathfinder-GNU.32.32.d.1-Debian4.0.errors.html#l323
> 
> CVS committers: fabian at cwi.nl manegold at cwi.nl
> 
> module maintainers: lsidir at cwi.nl zhang at cwi.nl henning at cwi.nl

The problem here is that in pathfinder, pf_config.h is in most C files
(possibly at least all C files in pathfinder/compiler/ not included
directly, but via pathfinder/compilier/include/pathfinder.h .
Hence, our "trick" in buildtools/conf/rules.mk, to push the inclusion of
pf_config.h (also) for flex, bison, swig, etc. -generated C files to the
veru front of the file, does not work properly, i.e., pf_config.h get
includes twice, once "forced" directly at the beginning of the (generated) C
file, and once via pathfinder.h .

I see three solutions:

1) 
Remove '#include "pf_config.h"' from
pathfinder/compilier/include/pathfinder.h and add '#include "pf_config.h"'
as first include in all source files in pathfinder// (e.g., just before the
existing '#include "pathfinder.h"'.

2)
Make buildtools/conf/rules.mk, aware of pathfinder.h and handle is just like
$(CONFIG_H)

3)
(Try to) make bootstrap (i.e., auto*) a conf/config.h.in (or make configure
create the <pkg>_config.h from conf/config.h.in) in such a way that it is
resistent against multiple inclusion, e.g., using the usual #ifndef #define
... #endif mechanism.


I have a strong preference for solution one, as that is what we do the the
remainder of the code base.

Any comments?

Any volunteers?

Stefan

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |




More information about the developers-list mailing list