On Tue, Dec 11, 2007 at 02:18:52PM +0100, Fabian Groffen wrote:
On 07-12-2007 22:29:07 +0100, Djoerd Hiemstra wrote:
Here are some remarks from Tristan Pothoven here in Twente for installing the stable MonetDB/XQuery on FreeBSD (FreeBSD 6.2-RELEASE-p7). He did the following: 1. 'make' on FreeBSD cannot cope with the wildcards in some of the Makefiles. No problem if you use gmake instead.
The latest monetdb-install.sh script uses gmake when available (such as on FreeBSD and Solaris).
2. Changes in sourcefiles: Package MonetDB: file: monet_utils.h original: #if HAVE_ALLOCA_H changed to: #ifdef HAVE_ALLOCA_H Package Pathfinder: file: pathfinder.h original: #if HAVE_ALLOCA_H changed to: #ifdef HAVE_ALLOCA_H
Indeed, gcc on FreeBSD appears to choke on this. I fixed it in the current branch (sorry, my FreeBSD machine is too slow and I just did current initially).
If macro X is defined and equal to either 0 or 1, #if X is IMHO a valid C preprorocessor derective and should hence work fine. In fact, in such case the semantics of #if X is obviously not the same as that of #ifdef X (Admittedly, most in most if not all cases you changed, indeed `#ifdef X` was / should have been intended, not `#if X`.) What excatly did the gcc on FreeBSD complain about
There are occurences of #if @1 and #if CMD_@1 in the M4, M5 and XQuery sources. I suspect they will fail in the same way (i.e. the guard may do something else than expected), but I am not sure what the appropriate fix there is.
These case *might* indeed mean what they say: #if @1 #if CMD_@1 with @1 / CMD_@1 being either 0 or 1. Stefan
3. Furthermore, it seems that the files parser.tab.h and parser.tab.c, are not generated (are they generated?) correctly. Tristan took them from the tarball on the monetdb cwi site. Similarly, in the pftijah module with nexi.tab.c and nexi.tab.h.
This question already has been answered by Stefan.
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@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 |