Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
T
tarantool
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
core
tarantool
Commits
63e5f533
Commit
63e5f533
authored
9 years ago
by
ocelot-inc
Browse files
Options
Downloads
Patches
Plain Diff
building_from_source.rst
parent
a9980b00
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/sphinx/dev_guide/building_from_source.rst
+55
-98
55 additions, 98 deletions
doc/sphinx/dev_guide/building_from_source.rst
with
55 additions
and
98 deletions
doc/sphinx/dev_guide/building_from_source.rst
+
55
−
98
View file @
63e5f533
...
...
@@ -16,7 +16,7 @@ explain what the steps are, then on the Internet you can look at some example sc
end in `-src.tar.gz`), the latest complete source downloads are on github.com, and
from github one gets with git.
* A C/C++ compiler. |br| Ordinarily the compiler is `
`GCC
`` version 4.6 or later, on
* A C/C++ compiler. |br| Ordinarily the compiler is `
gcc` and ``g++
`` version 4.6 or later, on
Mac OS X it should be ``Clang`` version 3.2 or later.
* A program for managing the build process. |br| This is always ``CMake``
...
...
@@ -25,33 +25,20 @@ explain what the steps are, then on the Internet you can look at some example sc
Here are names of tools and libraries which may have to be installed in advance,
using ``sudo apt-get`` (for Ubuntu), ``sudo yum install`` (for CentOS), or the
equivalent on other platforms. Different platforms may use slightly different
names. Do not worry about the ones marked `optional,
for build with -DENABLE_DOC
`
unless you
intend to work on the documentation
.
names. Do not worry about the ones marked `optional,
only in Mac OS scripts
`
unless you
r platform is Mac OS
.
* **binutils-dev** or **binutils-devel** # contains GNU BFD for printing stack traces
* **gcc or clang** # see above
* **gcc and g++, or clang** # see above
* **git** # see above
* **cmake** # see above
* **libreadline-dev** # for interactive mode
* **libncurses5-dev** or **ncurses-devel** # see above
* **xsltproc** # optional, for build with -DENABLE_DOC
* **lynx** # optional, for build with -DENABLE_DOC
* **jing** # optional, for build with -DENABLE_DOC
* **libxml2-utils** # optional, for build with -DENABLE_DOC
* **docbook5-xml** # optional, for build with -DENABLE_DOC
* **docbook-xsl-ns** # optional, for build with -DENABLE_DOC
* **w3c-sgml-lib** # optional, for build with -DENABLE_DOC
* **libsaxon-java** # optional, for build with -DENABLE_DOC
* **libxml-commons-resolver1.1-java** # optional, for build with -DENABLE_DOC
* **libxerces2-java** # optional, for build with -DENABLE_DOC
* **libxslthl-java** # optional, for build with -DENABLE_DOC
* **autoconf** # optional, appears only in Mac OS scripts
* **zlib1g** or **zlib** # optional, appears only in Mac OS scripts
* **libreadline-dev or libreadline6-dev** # for interactive mode
* **autoconf** # optional, only in Mac OS scripts
* **zlib1g** or **zlib** # optional, only in Mac OS scripts
2. Set up python modules for running the test suite or creating documentation.
This step is optional. Python modules are not necessary for building Tarantool
itself, unless one intends to use the ``-DENABLE_DOC`` option in step
6
or the
"Run the test suite" option in step
8
. Say:
itself, unless one intends to use the ``-DENABLE_DOC`` option in step
5
or the
"Run the test suite" option in step
7
. Say:
.. code-block:: bash
...
...
@@ -64,19 +51,21 @@ explain what the steps are, then on the Internet you can look at some example sc
.. code-block:: bash
# For both test suite and documentation
sudo apt-get install python-pip python-dev python-yaml
# For test suite
sudo apt-get install python-daemon
python-yaml python-argparse
sudo apt-get install python-daemon
# For documentation
sudo apt-get install python-jinja2 python-markdown
sudo apt-get install python-sphinx python-pelican python-beautifulsoup
On CentOS too you can get modules from the repository:
.. code-block:: bash
sudo yum install python26 python26-PyYAML
python26-argparse
sudo yum install python26 python26-PyYAML
etc.
But in general it is best to set up the modules by getting a tarball and
If modules are not available on a repository,
it is best to set up the modules by getting a tarball and
doing the setup with ``python setup.py``, thus:
.. code-block:: bash
...
...
@@ -100,20 +89,6 @@ explain what the steps are, then on the Internet you can look at some example sc
cd python-daemon-1.5.5
sudo python setup.py install
# python module for text-to-html conversion (markdown):
# For documentation: (If wget fails, check the
# http://pypi.python.org/pypi/Markdown/
# to see what the current version is.)
cd ~
wget https://pypi.python.org/packages/source/M/Markdown/Markdown-2.3.1.tar.gz
tar -xzvf Markdown-2.3.1.tar.gz
cd Markdown-2.3.1
sudo python setup.py install
# python module which includes Jinja2 template engine:
# For documentation:
sudo pip install pelican
# python module for HTML scraping: For documentation:
cd ~
wget http://www.crummy.com/software/BeautifulSoup/bs3/download//3.x/BeautifulSoup-3.2.1.tar.gz
...
...
@@ -121,7 +96,26 @@ explain what the steps are, then on the Internet you can look at some example sc
cd BeautifulSoup-3.2.1
sudo python setup.py install
5. Use ``git`` again so that third-party contributions will be seen as well.
Finally, use Python :code:`pip` to bring in Python packages
that may not be up-to-date in the distro repositories.
.. code-block:: bash
# For test suite
pip install tarantool\>0.4 --user
# For documentation
sudo pip install pelican
sudo pip install -U sphinx
3. Use :code:`git` to download the latest source code from the
Tarantool 1.6 master branch on github.com.
.. code-block:: bash
cd ~
git clone https://github.com/tarantool/tarantool.git ~/tarantool
4. Use ``git`` again so that third-party contributions will be seen as well.
This step is only necessary once, the first time you do a download. There
is an alternative -- say ``git clone --recursive`` in step 3 -- but we
prefer this method because it works with older versions of ``git``.
...
...
@@ -136,7 +130,7 @@ explain what the steps are, then on the Internet you can look at some example sc
On rare occasions, the submodules will need to be updated again with the
command: ``git submodule update --init --recursive``.
6
. Use CMake to initiate the build.
5
. Use CMake to initiate the build.
.. code-block: bash
...
...
@@ -145,19 +139,27 @@ explain what the steps are, then on the Internet you can look at some example sc
rm CMakeCache.txt # unnecessary, added for good luck
cmake . # Start build with build type=Debug, no doc
The option for specifying build type is ``-DCMAKE_BUILD_TYPE=<type>`` where
``type = <None | Debug | Release | RelWithDebInfo | MinSizeRel>`` and a
On some platforms it may be necessary to specify the C and C++ versions,
for example
.. code-block: bash
CC=gcc-4.8 CXX=g++-4.8 cmake .
The option for specifying build type is :samp:`-DCMAKE_BUILD_TYPE={type}` where
:samp:`{type} = None | Debug | Release | RelWithDebInfo | MinSizeRel` and a
reasonable choice for production is ``-DCMAKE_BUILD_TYPE=RelWithDebInfo``
(``Debug`` is used only by project maintainers and ``Release`` is used only
when the highest performance is required).
The option for asking to build documentation is ``-DENABLE_DOC=<true|false>``
and the assumption is that only a minority will need to rebuild the
documentation (such as what you're reading now), so details about
documentation are in the developer manual, and the reasonable choice
The option for asking to build documentation is ``-DENABLE_DOC=true|false`,
which outputs HTML documentation (such as what you're reading now) to the
subdirectory doc/www/output/doc. Tarantool uses the Sphinx simplified markup system.
Since most users do not need to rebuild the documentation,
the reasonable option
is ``-DENABLE_DOC=false`` or just don't use the ``-DENABLE_DOC`` clause at all.
7
. Use make to complete the build.
6
. Use make to complete the build.
.. code-block:: bash
...
...
@@ -165,7 +167,7 @@ explain what the steps are, then on the Internet you can look at some example sc
It's possible to say ``make install`` too, but that's not generally done.
8
. Run the test suite. This step is optional. |br| Tarantool's developers always
7
. Run the test suite. This step is optional. |br| Tarantool's developers always
run the test suite before they publish new versions. You should run the test
suite too, if you make any changes in the code. Assuming you downloaded to
``~/tarantool``, the principal steps are:
...
...
@@ -208,10 +210,9 @@ explain what the steps are, then on the Internet you can look at some example sc
rmdir ~/tarantool/bin
9
. Make an rpm. |br| This step is optional. It's only for people who want to
8
. Make an rpm. |br| This step is optional. It's only for people who want to
redistribute Tarantool. Package maintainers who want to build with rpmbuild
should consult the
:doc:`Tarantool Developer Guide <index>`
should consult the rpm-build instructions for the appropriate platform.
This is the end of the list of steps to take for source downloads.
...
...
@@ -229,49 +230,5 @@ For your added convenience, github.com has README files with example scripts:
These example scripts assume that the intent is to download from the master
branch, build the server (but not the documentation), and run tests after build.
To build with SUSE 13.1, the steps are as described above, except that the
appropriate YaST2 package names are: binutils-devel, cmake, ncurses-devel,
lynx, jing, libxml2-devel, docbook_5, saxon, libxslt-devel. |br|
The python connector can be installed with ``sudo easy_install pip`` and ``sudo pip install tarantool``.
===========================================================
How to build the XML manual
===========================================================
To build XML manual, you'll need:
* xsltproc
* docbook5-xml
* docbook-xsl-ns
* w3c-sgml-lib
* libsaxon-java (for saxon processing)
* libxml-commons-resolver1.1-java
* libxml2-utils
* libxerces2-java
* libxslthl-java
* lynx
* jing
When all pre-requisites are met, you should run:
.. code-block:: bash
$ cmake . -DENABLE_DOC=YES
to enable documentation builder.
If you want to make tarantool user guide, you should run the
following command from tarantool root directory:
.. code-block:: bash
$ make html
or
.. code-block:: bash
$ cd doc/user
$ make
The html version of the user guide will be generated in doc/www/content/doc
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment