//////////////////////////////////////////////////////////////////////////////// /// @brief installation guide /// /// @file /// /// DISCLAIMER /// /// Copyright 2012 triagens GmbH, Cologne, Germany /// /// Licensed under the Apache License, Version 2.0 (the "License"); /// you may not use this file except in compliance with the License. /// You may obtain a copy of the License at /// /// http://www.apache.org/licenses/LICENSE-2.0 /// /// Unless required by applicable law or agreed to in writing, software /// distributed under the License is distributed on an "AS IS" BASIS, /// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. /// See the License for the specific language governing permissions and /// limitations under the License. /// /// Copyright holder is triAGENS GmbH, Cologne, Germany /// /// @author Dr. Frank Celler /// @author Copyright 2012, triAGENS GmbH, Cologne, Germany //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page InstallManual ArangoDB's Installation Manual /// /// @if LATEX /// /// @else /// @copydetails InstallingTOC /// @copydetails CompilingTOC /// @endif //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page InstallingTOC /// /// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page Installing Installing the ArangoDB /// /// @EMBEDTOC{InstallingTOC} /// /// @section MacOSX /////////////////// /// /// @subsection MacOSXHomebrew ////////////////////////////// /// /// If you are using homebrew, /// than you can install the ArangoDB using @CODE{brew} as follows: /// /// @LIT{brew install arangodb} /// /// This will install the current stable version of ArangoDB within /// your Homebrew tree. /// /// If you want to install the latest version use: /// /// @LIT{brew install --HEAD arangodb} //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page CompilingTOC /// /// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page Compiling Compiling the ArangoDB from scratch /// /// The following sections describe how to compile and build the ArangoDB from /// scratch. The ArangoDB will compile on most Linux and Mac OS X systems. It /// assumes that you use the GNU C++ compiler to compile the source. The /// ArangoDB has been tested with the GNU C++ compiler, but should compile with /// any Posix compliant compiler. Please let us know, whether you successfully /// compiled it with another C++ compiler. /// /// There are possibilities: /// /// - all-in-one: this version contains the source code of the ArangoDB, all /// generated files from the autotools, FLEX, and BISON as well /// as a version of V8, libev and boost /// /// - devel: this version contains the development version of the ArangoDB. /// Use this branch, if you want to make changes to ArangoDB /// source. /// /// The devel version requires a complete development environment, while the /// all-in-one version allows you to compile the ArangoDB without installing /// all the prerequisites. The disadvantage is that it takes longer to compile /// and you cannot make changes to the flex or bison files. /// /// @EMBEDTOC{CompilingTOC} /// /// @section CompilingAIO All-In-One Version //////////////////////////////////////////// /// /// @subsection CompilingAIOPrerequisites Basic System Requirements /////////////////////////////////////////////////////////////////// /// /// Verify that your system contains: /// /// - the GNU C++ compiler "g++" and standard C++ libraries /// - the GNU make /// /// In addition you will need the following libraries: /// /// - the GNU readline library /// - the GNU ncurses library in version 5 or 6 /// /// Under Mac OS X you also need to install: /// /// - Xcode /// - scons /// /// @subsection DownloadSourceAIO Download the Source ///////////////////////////////////////////////////// /// /// Download the latest source using GIT: /// /// @LIT{git clone git://github.com/triAGENS/ArangoDB.git} /// /// @subsection CompilingAIOConfigure Configure /////////////////////////////////////////////// /// /// Switch into the ArangoDB directory /// /// @LIT{cd ArangoDB} /// /// In order to configure the build environment execute /// /// @LIT{./configure} /// /// to setup the makefiles. This will check the various system characteristics /// and installed libraries. /// /// @subsection CompilingAIOCompile Compile /////////////////////////////////////////// /// /// Compile the program by executing /// /// @LIT{make} /// /// This will compile the ArangoDB and create a binary of the server in /// /// @LIT{./arangodb} /// /// @subsection CompilingAIOTest Test ///////////////////////////////////// /// /// Check the binary by starting it using the command line. /// /// @LIT{./arango --server.http-port 12345 /tmp/vocbase} /// /// This will start up the ArangoDB and listen for HTTP requests on port 12345 /// bound to any address. You should see the startup messages /// /// @verbinclude startup1 /// /// Use your favorite browser to access the URL /// /// @LIT{http://localhost:12345/version} /// /// This should produce a JSON object like /// /// @LIT{\{"server":"arango"\,"version":"0.0.8 [exported]"\}} /// /// as result. /// /// @subsection CompilingAIOInstall Install /////////////////////////////////////////// /// /// Install everything by executing /// /// @LIT{make install} /// /// You must be root to do this or at least have write permission to the /// corresponding directories. /// /// @section CompilingDevel Devel Version ///////////////////////////////////////// /// /// @subsection CompilingDevelPrerequisites Basic System Requirements ////////////////////////////////////////////////////////////////////// /// /// Verify that your system contains /// /// - the GNU C++ compiler "g++" and standard C++ libraries /// - the GNU autotools (autoconf, automake) /// - the GNU make /// - the GNU scanner generator FLEX, at least version 2.3.35 /// - the GNU parser generator BISON, at least version 2.4 /// /// In addition you will need the following libraries /// /// - libev in version 3 or 4 /// - Google's V8 engine /// - the GNU readline library /// - the GNU ncurses library in version 5 or 6 /// - boost header files, at least version 1.33 /// /// To compile Google V8 yourself, you will also need SCons. /// /// Some distributions, for example Centos 5, provide only very out-dated /// versions of FLEX, BISON, and the V8 engine. In that case you need to compile /// newer versions of the programs and/or libraries. /// /// Install or download the prerequisites /// /// - boost development package (see www.boost.org) /// - Google's V8 engine (see code.google.com/p/v8) /// - SCons for compiling V8 (see www.scons.org) /// - libev (see software.schmorp.de/pkg/libev.html) /// /// if neccessary. Most linux systems already supply RPM or DEP for /// these packages. Please note that you have to install the /// development packages. /// /// @subsection DownloadSourceDevel Download the Source /////////////////////////////////////////////////////// /// /// Download the latest source using GIT: /// /// @LIT{git clone git://github.com/triAGENS/ArangoDB.git} /// /// @subsection CompilingDevelSetup Setup ///////////////////////////////////////// /// /// Switch into the ArangoDB directory /// /// @LIT{cd ArangoDB} /// /// The source tarball contains a pre-generated "configure" script. You can /// regenerate this script by using the GNU auto tools. In order to do so, /// execute /// /// @LIT{make setup} /// /// This will call aclocal, autoheader, automake, and autoconf in the correct /// order. /// /// @subsection CompilingDevelConfigure Configure ///////////////////////////////////////////////// /// /// In order to configure the build environment execute /// /// @LIT{./configure --disable-all-in-one --enable-bison --enable-flex} /// /// to setup the makefiles. This will check for the various system /// characteristics and installed libraries. If the configure scripts fail to /// find the boost library, check that C++ is installed and working and that the /// boost-devel package was successfully installed. /// /// Specifying @LIT{disable-all-in-one} will tell the build system /// to use the installed system versions of boost, V8, and libev /// instead of compiling these libaries in the make run. /// /// Now continue with @ref CompilingAIOCompile. //////////////////////////////////////////////////////////////////////////////// // Local Variables: // mode: c++ // mode: outline-minor // outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)" // End: