This is an important announcement for everyone who wants to build MonetDB from sources (tar balls and Mercurial). This announcement is only relevant to the "default" branch.
Pretty soon I will commit and push a big change to the way MonetDB is built. This message is a heads-up for that change and contains information on how to build MonetDB in the (near) future. Currently, in order to build the MonetDB suite, you need to do the following: * build and install buildtools (only if building from Mercurial sources); * build and install MonetDB; * build and install clients; * build and install MonetDB4; * build and install MonetDB5; * build and install sql; * build and install pathfinder; * build and install geom; * build and install java; * build and install python; * build and install testing. Some of the above are optional, and some variation in the order is possible. In all cases (except python), building and installing consists of running: * ./bootstrap * .../configure ... * make * make install This whole process is going to change. Very soon you will need to run the commands * ./bootstrap (not for tar balls) * .../configure ... * make * make install only once in the top-level directory of the MonetDB suite (well, ./bootstrap has to run there, the other commands can run either there or in a separate build directory (recommended)). For now, there are no changes to the way the Python module is built. The advantage of this change is clear: you only need to run these commands once instead of 9 times. This means that both bootstrap and configure will be faster, even though the single instance needs to do a bit more work than any single instance in the old situation (but there were 9 of those). Another advantage is that things like * make dist (create tar ball) * make rpm (create binary RPM) * make srpm (create source RPM) also need to be run only once for the complete suite. We no longer have a separate Super Source Tar Ball which was just a tar ball containing all the separate source tar balls. Note that in the old situation, there were a whole bunch of configuration options in the Pathfinder configure. These options have been moved to the top-level configure. It used to be possible to only configure and build Pathfinder. That is now supported by using options on the top-level configure disabling building of MonetDB4 and MonetDB5 subpackages: .../configure --disable-monetdb4 --disable-monetdb5 [pathfinder-specific config options] Attached is the check-in message that I plan to use (modulo last minute changes). -- Sjoerd Mullender
Top-level bootstrap/configure/make. This huge changeset is to turn the various "sort-of" independent subpackages of MonetDB into one coherent package. The principle idea is that we now have a single top-level configure and make instead of having to run configure and make many times to build everything. From now on, the way to build MonetDB is to run the command "./bootstrap" in the top-level directory, and then to run ".../configure" and "make" in the build directory (which can be the same as the source, but doesn't have to be). On Windows, the way to build is to run "nmake" in the NT subdirectory or to run "nmake /f ..\NT\Makefile" in an empty directory underneath the top level. The subpackages affected are: MonetDB, clients, MonetDB4, MonetDB5, sql, pathfinder, geom, testing, java. The python subpackage is not (yet?) affected: it still requires you to run setup.py. Also not affected is template (although it likely won't currently work) since it is meant as a template for external (to the MonetDB suite) extensions. The top-level configure has a number of options to enable and disable the building of subpackages: --enable-monetdb4 enable support for MonetDB4 (default=auto) --enable-monetdb5 enable support for MonetDB5 (default=auto) --enable-sql enable support for MonetDB/SQL (default=auto) --enable-geom enable support for geom module (default=auto) --enable-pathfinder enable support for MonetDB/XQuery (default=auto) --enable-pftijah enable support for TIJAH (default=auto) --enable-probxml enable support for PROBXML (default=auto) --enable-odbc compile the MonetDB ODBC driver (default=auto) --enable-testing enable support for testing (default=auto) --enable-console enables direct console on the server (involves security risks) --enable-java (try to) build Java components --enable-jdbc build the MonetDB JDBC driver --enable-xrpcwrapper build the MonetDB XRPC wrapper --enable-merocontrol build the Merovingian control driver The options to specify the presence and location of programs and libraries that are used to build the subpackages were of course also integrated into the top-level configure, as were the following options: --with-default-backend=BACKEND select a default back-end (milprint_summer/algebra/sql) for Pathfinder (default=algebra) --with-password-backend=HASHALG password hash algorithm, one of MD5, SHA1, RIPEMD160, SHA224, SHA256, SHA384, SHA512, defaults to SHA512 Note that the Pathfinder configuration without MonetDB4 is still possible: .../configure --disable-monetdb4 --disable-monetdb5 --enable-pathfinder ... Other changes include the following: - One top-level MonetDB.spec file so that all RPMs can be built in one go; - One top-level debian subdirectory with Debian/Ubuntu configuration; - Removed all *-config and *-config.bat files: there use is superseded by the single top-level configure and various *.pc (pkgconfig) files; - All paths in Makefile.ag files to other subpackages are now relative; - .mx files in the mel package have been unpacked to their constituent .cc (etc.) files: adding back support for C++ inside autogen was too hard otherwise; - Tar balls don't include generated files (apart from configure): the build process, also for tar ball distributions, includes building and using Mx, but also now requires bison/yacc and flex/lex (there have been problems in the past with our distributing generated bison output); - mel is only built when MonetDB4 is enabled, burg is only built when pathfinder is enabled; - Some symbols in burg were replaced to avoid name clashes on Windows; - Some files (monetdb.ico, banner.bmp, website.html, license.rtf) were moved to buildtools/conf; - Use the currently approved way (by autoconf) of checking for alloca and alloca.h; - Packaged vault.sql into vault.mx since autogen/Mx get confused otherwise; - Set the version number globally to 11.0.0 (we need a single version number for binary packages, and it must be higher than the highest old version number).
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers