[Monetdb-developers] Problems compiling MonetDB-11.11.5 on SuSE SLES-11 SP2

SuSE Linux Enterprise Server 11 SP2, release in March. As already covered on the bug-tracker etc. old bison won't work, so I had to install latest version, 2.6.2 to build. After that: make[5]: Entering directory `/opt/MonetDB/MonetDB-11.11.5/sql/server' /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I. -I../include -I./../include -I../common -I./../common -I../storage -I./../storage -I../../clients/mapilib -I./../../clients/mapilib -I../../common/options -I./../../common/options -I../../common/stream -I./../../common/stream -I../../gdk -I./../../gdk -DLIBSQLSERVER -g -O2 -c -o libsqlserver_la-sql_scan.lo `test -f 'sql_scan.c' || echo './'`sql_scan.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I. -I../include -I./../include -I../common -I./../common -I../storage -I./../storage -I../../clients/mapilib -I./../../clients/mapilib -I../../common/options -I./../../common/options -I../../common/stream -I./../../common/stream -I../../gdk -I./../../gdk -DLIBSQLSERVER -g -O2 -c sql_scan.c -fPIC -DPIC -o .libs/libsqlserver_la-sql_scan.o In file included from sql_semantic.h:27, from sql_scan.c:29: sql_parser.h:191: error: conflicting types for 'sqlparse' y.tab.h:678: error: previous declaration of 'sqlparse' was here No idea how to properly fix that, but added "#define YYPARSE_PARAM parm" at the front of sql_scan.c, which forces the prototype to retain the parameter. Next problem, HowToStart.rst states: "Then in any directory (preferably a *new, empty* directory and *not* in the ``MonetDB`` top-level directory) give the command:: .../configure [<options>]", which is indeed recommended practice. Unfortunately, nobody has apparently ever done this. If configure and make are ran in a different directory from the source root, "make check" will fail to find monetdb5/modules/mal/mal_init.mal and who knows what else, giving long time of head-scratching. After re-doing configure and make in the prohibited directory, make check will report: . opt_sql_append : Crashed! * (opt_sql_append.test.out.FILTERED) significantly * (opt_sql_append.test.err.FILTERED) significantly ....................................................................................................................................................................................................................................... * (recycle04.test.out.FILTERED) significantly ........................................................................................................................................................................................................................................................................... !ERROR: Testing FAILED SIGNIFICANTLY (2 out of 499 tests failed) 1 out of 499 tests resulted in a crash extras/mal_optimizer_template/opt_sql_append 1 out of 499 tests produced SIGNIFICANTLY different output mal/recycle04 To be frank, that sounds "significantly" like something translated by Google translator to/from some lesser known language. No idea what it's trying to tell me, or how to proceed from there. Can't find any Google search hits on the problems either. Suggestions? -Jukka Santala

Hi, On Wed, Aug 22, 2012 at 07:47:07PM +0300, Jukka Santala wrote:
Are you using HG sources or a released source tarball? The latter is recommended and should not require bison at all ...
I can ensure you, we do this, and only this several times per day, so you can assume that building MonetBD this way is very well tested ;-)
Ok, I/we do admit that `make check` has not been used by us for a long time (at least not by myself), and thus, it might not work properly anymore. Hence, thank you very much for notifing us about it. We will either fix it, or remove it completely. We test MonetDB by running `Mtest.py`, (for now still?) separately in .../MonetDB/clients/ , .../MonetDB/monetdb5/ , .../MonetDB/sql/ , and .../MonetDB/geom/
Well, we don't need to understand this comment, do we?
No idea what it's trying to tell me,
MonetDB testing is mainly for internal/development use. The existence of a "quasi standard", without further documentation than (from HowToStart.rst) " This will perform a large number of tests, some are unfortunately still expected to fail, but most should go successfully. " might suggest differently. We'll consider making our documentation even more explicit on this. Thus, the above just tells you this: some of the tests did fail in your case. Most of the also fail with our nightly testing, cf., http://monetdb.cwi.nl/testweb/web/status.php?branch=Jul2012 and thus are not considered crucial.
or how to proceed from there.
Simply enjoy using MonetDB ;-)
Can't find any Google search hits on the problems either. Suggestions?
See above ;-) Thanks again, for trying all this and notifying us. Given that we never had any feedback on it before, we were not aware of the fact that people outside the core MonetDb developers team were using MonetDB's testing facilities, thus, we never spent more time on improving their documentation or making them more end-user friendly. We'll take your comments as tirgger to reconsiders this in some future release. Best, Stefan
-- | Stefan.Manegold @ CWI.nl | DB Architectures (INS1) | | http://CWI.nl/~manegold/ | Science Park 123 (L321) | | Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |

On 22-08-2012 22:32:51 +0200, Stefan Manegold wrote:
This should be fixed in Jul2012-SP1 which should be released very soon from now (today?). We run nightly building with this version of bison without a problem. See for example http://monetdb.cwi.nl/testweb/logs/45208:410d9805232a/GNU-Darwin-x86_64-prop... http://monetdb.cwi.nl/testweb/logs/45208:410d9805232a/GNU-Darwin-x86_64-prop... http://monetdb.cwi.nl/testweb/logs/45208:410d9805232a/GNU-Darwin-x86_64-prop... And the fixes in changesets d3e0e0e7e4f6 and 5df311c1b87f.

On 23.8.2012 9:45, Fabian Groffen wrote:
Thank you, I see the fix is more involved than just matching the function prototype. The SP1 version is on the ftp-sites now, and I can confirm it compiles as-is SuSE SLES-11 SP2 now, though 'make check' still needs to be run after building in the source root, and after 'make install'. However, 'make check' now reports: make check-TESTS make[5]: Entering directory `/opt/MonetDB/MonetDB-11.11.7/monetdb5' Mtest.py Warning: No tests found in '/opt/MonetDB/MonetDB-11.11.7/monetdb5/extras/compiler/Tests`; skipping directory! . * (json00.test.out.FILTERED) significantly . * (json01.test.out.FILTERED) significantly . (cut here for brevity) . opt_sql_append : Crashed! * (opt_sql_append.test.out.FILTERED) significantly * (opt_sql_append.test.err.FILTERED) significantly .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. !ERROR: Testing FAILED SIGNIFICANTLY (40 out of 538 tests failed) 1 out of 538 tests resulted in a crash 39 out of 538 tests produced SIGNIFICANTLY different output cat `find -name json00.test.out.FILTERED` reveals: # 12:08:55 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "monet_mod_path=/opt/MonetDB/MonetDB-11.11.7/sql/backends/monet5/.libs:/opt/MonetDB/MonetDB-11.11.7/sql/backends/monet5:/opt/MonetDB/MonetDB-11.11.7/sql/backends/monet5/vaults/.libs:/opt/MonetDB/MonetDB-11.11.7/sql/backends/monet5/vaults:/opt/MonetDB/MonetDB-11.11.7/sql/sql:/opt/MonetDB/MonetDB-11.11.7/geom/monetdb5/.libs:/opt/MonetDB/MonetDB-11.11.7/geom/monetdb5:/opt/MonetDB/MonetDB-11.11.7/monetdb5/optimizer:/opt/MonetDB/MonetDB-11.11.7/monetdb5/optimizer:/opt/MonetDB/MonetDB-11.11.7/monetdb5/scheduler:/opt/MonetDB/MonetDB-11.11.7/monetdb5/scheduler:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/atoms:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/atoms:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/kernel:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/kernel:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/mal:/opt/MonetDB/MonetDB-11.11.7/monetdb5/modules/mal:/opt/MonetDB/MonetDB-11.11.7/monetdb5/extras/compiler:/opt/MonetDB/MonetDB-11.11.7/monetdb5/extras/compiler" "--set" "gdk_dbfarm=/opt/MonetDB/MonetDB-11.11.7/monetdb5/dbfarm" "--set" "mapi_open=true" "--set" "mapi_port=32199" "--set" "monet_prompt=" "--trace" "--forcemito" "--set" "mal_listing=2" "--dbname=mTests_extras_jaql" "json00.mal" # 12:08:55 > # MonetDB 5 server v11.11.7 "Jul2012-SP1" # Serving database 'mTests_extras_jaql', using 24 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked # Found 62.908 GiB available main-memory. # Copyright (c) 1993-July 2008 CWI. # Copyright (c) August 2008-2012 MonetDB B.V., all rights reserved # Visit http://www.monetdb.org/ for further information # Listening for connection requests on mapi:monetdb://query:32199/ # MonetDB/GIS module loaded # MonetDB/SQL module loaded !TypeException:user.main[2]:'json.shred' undefined in: (j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) := json.shred(_9:str) !TypeException:user.main[3]:'json.print' undefined in: _10:any := json.print(s:streams, j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) !TypeException:user.main[4]:'json.shred' undefined in: (j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) := json.shred(_11:str) !TypeException:user.main[5]:'json.print' undefined in: _12:any := json.print(s:streams, j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) !TypeException:user.main[6]:'json.shred' undefined in: (j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) := json.shred(_13:str) !TypeException:user.main[7]:'json.print' undefined in: _14:any := json.print(s:streams, j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) !TypeException:user.main[8]:'json.shred' undefined in: (j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) := json.shred(_15:str) !TypeException:user.main[9]:'json.print' undefined in: _16:any := json.print(s:streams, j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) !TypeException:user.main[11]:'json.load' undefined in: (i1:any, i2:any, i3:any, i4:any, i5:any, i6:any, i7:any) := json.load(_25:str) !TypeException:user.main[15]:'json.store' undefined in: _29:any := json.store(_25:str, j1:any, j2:any, j3:any, j4:any, j5:any, j6:any, j7:any) !TypeException:user.main[16]:'json.load' undefined in: (i1:any, i2:any, i3:any, i4:any, i5:any, i6:any, i7:any) := json.load(_25:str) !TypeException:user.main[17]:'json.print' undefined in: _30:any := json.print(s:streams, i1:any, i2:any, i3:any, i4:any, i5:any, i6:any, i7:any) !TypeException:user.main[18]:'json.drop' undefined in: _31:any := json.drop(_25:str) function user.main():void; So I'm guessing monet_mod_path doesn't get set properly. The opt_sql_append errors which I can't make sense out of are still there as well. And I still think the 'make check' output could be bit more clear about what it is doing that some dots and "* (json00.test.out.FILTERED) significantly" :) -Jukka Santala

On 23-08-2012 12:18:40 +0300, Jukka Santala wrote:
Yes, we should remove make check. In any case it doesn't do what the general contract of `make check' implies. Please report further bugs on our bugtracking system at bugs.monetdb.org.
participants (3)
-
Fabian Groffen
-
Jukka Santala
-
Stefan Manegold