summaryrefslogtreecommitdiff
path: root/docs/building.md
blob: 13aa4f90eaa329576203fa637c9a8904341efbb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

Building MongoDB
================

SCONS
---------------

For detail information about building, please see [the manual](http://dochub.mongodb.org/core/building).

If you want to build everything (mongod, mongo, tools, etc):

    $ scons all

If you only want to build the database:

    $ scons

To install

    $ scons --prefix=/opt/mongo install

Please note that prebuilt binaries are available on [mongodb.org](http://www.mongodb.org/downloads) and may be the easiest way to get started.

SCONS TARGETS
--------------

* mongod
* mongos
* mongo
* mongoclient
* all

COMPILER VERSIONS
--------------

Mongo has been tested with GCC 4.x and Visual Studio 2008 and 2010.  Older versions
of GCC may not be happy.

WINDOWS
--------------

See http://dochub.mongodb.org/core/buildingforwindows

Build requirements:
* vc++ express or visual studio
* python 2.5 (for scons - 2.6 might be needed for some regression tests)
* scons
* boost 1.35 (or higher)

Or download a prebuilt binary for Windows at www.mongodb.org.

UBUNTU
--------------

To install dependencies on Ubuntu systems:

    # aptitude install scons build-essential
    # aptitude install libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev

To run tests as well, you will need PyMongo:

    # aptitude install python-pymongo

Then build as usual with `scons`:

    $ scons all


OS X
--------------

Try [Homebrew](http://mxcl.github.com/homebrew/):

    $ brew install mongodb


FREEBSD
--------------

Install the following ports:

  * devel/boost
  * devel/libexecinfo
  * devel/pcre
  * lang/spidermonkey


Special Build Notes
--------------
  * [debian etch on ec2](building.debian.etch.ec2.html)
  * [open solaris on ec2](building.opensolaris.ec2.html)