Changeset: 950bbbc4f462 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=950bbbc4f462 Added Files: gdk/gdk_system_private.h geom/sql/Tests/T1.sql geom/sql/Tests/T10.sql geom/sql/Tests/T10.stable.err geom/sql/Tests/T10.stable.out geom/sql/Tests/T11.sql geom/sql/Tests/T11.stable.err geom/sql/Tests/T11.stable.out geom/sql/Tests/T12.sql geom/sql/Tests/T12.stable.err geom/sql/Tests/T12.stable.out geom/sql/Tests/T13.sql geom/sql/Tests/T14.sql geom/sql/Tests/T15.sql geom/sql/Tests/T16.sql geom/sql/Tests/T16.stable.err geom/sql/Tests/T16.stable.out geom/sql/Tests/T17.sql geom/sql/Tests/T18.sql geom/sql/Tests/T19.sql geom/sql/Tests/T2.sql geom/sql/Tests/T20.sql geom/sql/Tests/T21.sql geom/sql/Tests/T21.stable.err geom/sql/Tests/T21.stable.out geom/sql/Tests/T22.sql geom/sql/Tests/T23.sql geom/sql/Tests/T24.sql geom/sql/Tests/T25.sql geom/sql/Tests/T26.sql geom/sql/Tests/T26.stable.err geom/sql/Tests/T26.stable.out geom/sql/Tests/T27.sql geom/sql/Tests/T28.sql geom/sql/Tests/T29.sql geom/sql/Tests/T3.sql geom/sql/Tests/T30.sql geom/sql/Tests/T31.sql geom/sql/Tests/T32.sql geom/sql/Tests/T33.sql geom/sql/Tests/T33.stable.err geom/sql/Tests/T33.stable.out geom/sql/Tests/T34.sql geom/sql/Tests/T35.sql geom/sql/Tests/T37.sql geom/sql/Tests/T37.stable.err geom/sql/Tests/T37.stable.out geom/sql/Tests/T38.sql geom/sql/Tests/T38.stable.err geom/sql/Tests/T38.stable.out geom/sql/Tests/T39.sql geom/sql/Tests/T39.stable.err geom/sql/Tests/T39.stable.out geom/sql/Tests/T4.sql geom/sql/Tests/T40.sql geom/sql/Tests/T40.stable.err geom/sql/Tests/T40.stable.out geom/sql/Tests/T41.sql geom/sql/Tests/T41.stable.err geom/sql/Tests/T41.stable.out geom/sql/Tests/T42.sql geom/sql/Tests/T42.stable.err geom/sql/Tests/T42.stable.out geom/sql/Tests/T43.sql geom/sql/Tests/T44.sql geom/sql/Tests/T44.stable.err geom/sql/Tests/T44.stable.out geom/sql/Tests/T45.sql geom/sql/Tests/T45.stable.err geom/sql/Tests/T45.stable.out geom/sql/Tests/T46.sql geom/sql/Tests/T46.stable.err geom/sql/Tests/T46.stable.out geom/sql/Tests/T47.sql geom/sql/Tests/T47.stable.err geom/sql/Tests/T47.stable.out geom/sql/Tests/T48.sql geom/sql/Tests/T48.stable.err geom/sql/Tests/T48.stable.out geom/sql/Tests/T49.sql geom/sql/Tests/T5.sql geom/sql/Tests/T5.stable.err geom/sql/Tests/T5.stable.out geom/sql/Tests/T50.sql geom/sql/Tests/T50.stable.err geom/sql/Tests/T50.stable.out geom/sql/Tests/T51.sql geom/sql/Tests/T51.stable.err geom/sql/Tests/T51.stable.out geom/sql/Tests/T52.sql geom/sql/Tests/T52.stable.err geom/sql/Tests/T52.stable.out geom/sql/Tests/T6.sql geom/sql/Tests/T6.stable.err geom/sql/Tests/T6.stable.out geom/sql/Tests/T7.sql geom/sql/Tests/T8.sql geom/sql/Tests/T8.stable.err geom/sql/Tests/T8.stable.out geom/sql/Tests/T9.sql geom/sql/Tests/ogc_conformance.sql geom/sql/Tests/ogc_conformance.stable.err geom/sql/Tests/ogc_conformance.stable.out geom/sql/Tests/ogc_destroy.stable.err geom/sql/Tests/ogc_destroy.stable.out geom/sql/Tests/ogc_dropconformance.sql geom/sql/Tests/ogc_dropconformance.stable.err geom/sql/Tests/ogc_dropconformance.stable.out geom/sql/Tests/ogc_load.stable.err geom/sql/Tests/ogc_load.stable.out geom/sql/Tests/ogc_test.stable.err geom/sql/Tests/ogc_test.stable.out Modified Files: .hgtags HowToStart.rst MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer32/cv64-32.sh NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/installer64/cv32-64.sh NT/monetdb_config.h.in NT/rules.msc bootstrap clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NAMESPACE clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/control.R clients/R/MonetDB.R/R/monetdb.R clients/R/db.tests/sqlsurvey.test.R clients/Tests/exports.stable.out clients/mapiclient/dump.c clients/mapiclient/mclient.c clients/mapiclient/msqldump.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc clients/python2/setup.py clients/python3/setup.py common/stream/stream.c configure.ag debian/changelog debian/rules gdk/Makefile.ag gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_private.h gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_logger.c gdk/gdk_posix.h gdk/gdk_private.h gdk/gdk_search.c gdk/gdk_search.h gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_unique.c gdk/gdk_utils.c gdk/gdk_utils.h gdk/libbat.rc geom/monetdb5/geom.c geom/sql/Tests/All geom/sql/Tests/ogc_geometry.sql geom/sql/Tests/ogc_load.sql geom/sql/Tests/ogc_test.sql libversions monetdb5/extras/jaql/jaql.c monetdb5/extras/jaql/json_jaql.c monetdb5/extras/rdf/rdf_shredder.c monetdb5/mal/mal_authorize.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_http_daemon.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_private.h monetdb5/mal/mal_readline.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_runtime.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/querylog.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_statistics.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/datacell/datacell.c sql/backends/monet5/datacell/emitter.c sql/backends/monet5/datacell/receptor.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_result.c sql/common/sql_changeset.c sql/common/sql_hash.c sql/common/sql_list.c sql/common/sql_types.c sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c sql/storage/restrict/restrict_table.c sql/storage/sql_catalog.c sql/storage/sql_storage.h sql/storage/store.c sql/storage/store_sequence.c testing/Mtimeout.c testing/difflib.c testing/helpers.h testing/listexports.py.in tools/merovingian/client/monetdb.c tools/merovingian/daemon/client.c tools/merovingian/daemon/merovingian.c tools/mserver/mserver5.c vertoo.data Branch: rdf Log Message:
Merge with default branch diffs (truncated from 17009 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -560,3 +560,6 @@ fb702cba0210295b29825b095ed87d92b6645434 14baa1e3a827c26932ec5d853feca28eacd70009 Jan2014_release 28bad4f9c07415a7f784ac6af2494b0333c866a6 Jan2014_11 fa6872e2a8cf8bb3b4fb25a3b356946316f52a6b Jan2014_SP1_release +45d2af6f6cca3478319a11b5ddae69ecd9f19943 Jan2014_13 +fa6872e2a8cf8bb3b4fb25a3b356946316f52a6b Jan2014_SP1_release +242fe4b4960f54c339f7a6fb79aedd8f3b5e217a Jan2014_SP1_release diff --git a/HowToStart.rst b/HowToStart.rst --- a/HowToStart.rst +++ b/HowToStart.rst @@ -95,13 +95,22 @@ iconv On Ubuntu, you can search with `apt-file` what provides these files: - $ apt-file search iconv.m4 + ``$ apt-file search iconv.m4`` gettext: /usr/share/aclocal/iconv.m4 gnulib: /usr/share/gnulib/m4/iconv.m4 The .m4 that usually works is in gettext. Simply run, - $ sudo apt-get install gettext + ``$ sudo apt-get install gettext`` + + On Fedora, you can search with `yum`: + + ``$ yum provides /usr/share/aclocal/iconv.m4`` + + This shows the file is provided by the gettext-devel package. + Run + + ``$ sudo yum install gettext-devel`` standard software development tools To compile MonetDB, you also need to have the following @@ -109,16 +118,15 @@ standard software development tools use on you system: - a C compiler (e.g. GNU's ``gcc``); - - GNU ``make`` (``gmake``) (native ``make`` on, e.g., IRIX and Solaris - usually don't work). - - The following are not needed when you start with the source - distribution: - - - a C++ compiler (e.g. GNU's ``g++``); + - GNU ``make`` (``gmake``) (native ``make`` on, e.g., IRIX and + Solaris usually don't work); - a lexical analyzer generator (e.g., ``lex`` or ``flex``); - a parser generator (e.g., ``yacc`` or ``bison``). + If ``lex`` and ``flex`` are missing, you won't be able to + build the jaql front end. If ``yacc`` and ``bison`` are + missing, you won't be able to build the SQL front end. + The following are optional. They are checked for during configuration and if they are missing, the feature is just missing: @@ -127,21 +135,22 @@ standard software development tools - php libxml2 - The XML parsing library `libxml2`__ is used by - the xml module of monetdb5. + The XML parsing library `libxml2`__ is used by the xml module + of monetdb5. - MonetDB5 cannot be compiled without libxml2. Current Linux - distributions all come with libxml2. + MonetDB5 cannot be compiled without libxml2. Current Linux + distributions all come with libxml2. pcre - The Perl Compatible Regular Expressions library `pcre`__ is used by - monetdb5 and sql. Most prominently, complex SQL LIKE expressions are - evaluated with help of the pcre library. + The Perl Compatible Regular Expressions library `pcre`__ is + used by monetdb5 and sql. Most prominently, complex SQL LIKE + expressions are evaluated with help of the pcre library. openssl - The `OpenSSL`__ toolkit implementing SSL v2/v3 and TLS protocols is used - for its with full-strength world-wide cryptography functions. The - client-server login procedures make use of these functions. + The `OpenSSL`__ toolkit implementing SSL v2/v3 and TLS + protocols is used for its with full-strength world-wide + cryptography functions. The client-server login procedures + make use of these functions. __ http://dev.monetdb.org/downloads/sources/ __ http://www.gnu.org/software/autoconf/ @@ -194,7 +203,7 @@ development sources on your computer. hg clone http://dev.monetdb.org/hg/MonetDB This will create the directory MonetDB in your current working directory -with underneath all subcomponents. +with underneath all subcomponents. Bootstrap, Configure and Make @@ -227,7 +236,9 @@ where ``...`` is replaced with the (abso The directory where you execute ``configure`` is the place where all intermediate source and object files are generated during compilation -via ``make``. +via ``make``. It is useful to have this be a new directory so that +there is an easy way to remove all intermediates in case you want to +rebuild (just empty or remove the directory). By default, MonetDB is installed in ``/usr/local``. To choose another target directory, you need to call @@ -238,10 +249,18 @@ target directory, you need to call Some other useful ``configure`` options are: ---enable-debug enable full debugging default=[see `Configure defaults and recommendations`_ below] ---enable-optimize enable extra optimization default=[see `Configure defaults and recommendations`_ below] ---enable-assert enable assertions in the code default=[see `Configure defaults and recommendations`_ below] ---enable-strict enable strict compiler flags default=[see `Configure defaults and recommendations`_ below] +--enable-debug enable full debugging + default=[see `Configure defaults and + recommendations`_ below] +--enable-optimize enable extra optimization + default=[see `Configure defaults and + recommendations`_ below] +--enable-assert enable assertions in the code + default=[see `Configure defaults and + recommendations`_ below] +--enable-strict enable strict compiler flags + default=[see `Configure defaults and + recommendations`_ below] You can also add options such as ``CC=<compiler>`` to specify the compiler and compiler flags to use. @@ -251,35 +270,21 @@ Use ``configure --help`` to find out mor Configure defaults and recommendations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For convenience of both developers and users as well as to comply even more -with open source standards, we now set/use the following defaults for the -configure options +For convenience of both developers and users, we use the following +defaults for the configure options. -:: +When compiling from Mercurial sources (as mainly done by developers):: - --enable-strict, --enable-assert, --enable-debug, --enable-optimize + --enable-strict --enable-assert --enable-debug --disable-optimize -When compiling from Mercurial sources -(as mainly done by developers): +When compiling from the pre-packages source distribution:: -:: + --disable-strict --disable-assert --disable-debug --disable-optimize - strict=yes assert=yes debug=yes optimize=no (*) +When building a binary distribution, we use:: -When compiling from packaged/distributed sources (i.e., tarballs) -(as mainly done by users): + --disable-strict --disable-assert --disable-debug --enable-optimize -:: - - strict=no assert=no debug=no optimize=no (*) - -For building binary distributions (RPMs): - -:: - - strict=no assert=no debug=no optimize=yes - -``(*)`` IMPORTANT NOTE: Since ``--enable-optimize=yes`` is not the default for any case except @@ -290,7 +295,7 @@ scratch, *explicitly configured* with --enable-debug=no --enable-assert=no --enable-optimize=yes -in case you want/need to run any performance experiments with MonetDB! +in case you want to run any performance experiments with MonetDB! Please note: ``--enable-X=yes`` is equivalent to ``--enable-X``, and @@ -307,24 +312,7 @@ command make to compile the source code. Please note that parallel make -runs (e.g. ``make -j2``) are currently known to be unsuccessful. - -Testing the Build -~~~~~~~~~~~~~~~~~ - -This step is optional and only relevant for the packages clients, -MonetDB5 and sql. - -If ``make`` went successfully, you can try - -:: - - make check - -This will perform a large number of tests, some are unfortunately -still expected to fail, but most should go successfully. At the end -of the output there is a reference to an HTML file which is created by -the test process that shows the test results. +runs (e.g. ``make -j2``) are fully supported. Install ~~~~~~~ @@ -343,8 +331,7 @@ privileges. Testing the Installation ~~~~~~~~~~~~~~~~~~~~~~~~ -This step is optional and only relevant for the packages clients, -MonetDB5 and sql. +This step is optional. Make sure that *prefix*/bin is in your ``PATH``. Then in the package top-level directory issue the command @@ -363,13 +350,10 @@ using a Mercurial checkout; see for more options). -This should produce much the same output as ``make check`` above, but -uses the installed version of MonetDB. - You need write permissions in part of the installation directory for this command: it will create subdirectories ``var/dbfarm`` and -``Tests``. - +``Tests``, although there are options to ``Mtest.py`` to change the +paths. Usage ----- @@ -402,8 +386,7 @@ for details. At the ``mclient`` prompt some extra commands are available. Type a single question mark to get a list of options. Note that one of the -options is to read input from a file using ``<``. - +options is to read input from a file using ``\<``. Troubleshooting --------------- diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -18,6 +18,24 @@ %define release %{buildno}%{?dist}%{?oidsuf} +# On Fedora, the geos library is available, and so we can require it +# and build the geom modules. On RedHat Enterprise Linux and +# derivatives (CentOS, Scientific Linux), the geos library is not +# available. However, the geos library is available in the Extra +# Packages for Enterprise Linux (EPEL). If the _with_epel macro is +# set, we assume that EPEL is available, and so we enable building the +# geom modules. The _with_epel macro can be set when using mock by +# passing it the flag --with epel. +%if %{?rhel:1}%{!?rhel:0} +%if %{?_with_epel:1}%{!?_with_epel:0} +# RedHat Enterprise Linux and derivatives with EPEL enabled +%define with_geos 1 +%endif +%else +# Fedora +%define with_geos 1 +%endif + Name: %{name} Version: %{version} Release: %{release} @@ -33,8 +51,7 @@ BuildRequires: bison BuildRequires: bzip2-devel # BuildRequires: cfitsio-devel BuildRequires: flex -%if %{?rhel:0}%{!?rhel:1} -# no geos library on RedHat Enterprise Linux and derivatives +%if %{?with_geos:1}%{!?with_geos:0} BuildRequires: geos-devel >= 2.2.0 %endif BuildRequires: gsl-devel @@ -50,21 +67,23 @@ BuildRequires: python3-devel %endif # BuildRequires: raptor-devel >= 1.4.16 BuildRequires: readline-devel +# On RedHat Enterprise Linux and derivatives (CentOS, Scientific +# Linux), the rubygem-activerecord package is not available (also not +# in the Extra Packages for Enterprise Linux EPEL), so it makes no +# sense providing our ruby packages. +%if %{?rhel:0}%{!?rhel:1} BuildRequires: ruby _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list