Skip to content

Update instructions for building from source #1879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions doc/dev_guide/building_from_source.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,43 +38,43 @@ the preferences can differ. But strategically the steps are always the same.
option in step 5. For all platforms, this is ``python`` version 2.7+
(but not 3.x). You need the following Python modules:

* `pyyaml <https://pypi.python.org/pypi/PyYAML>`_ version 3.10
* `argparse <https://pypi.python.org/pypi/argparse>`_ version 1.1
* `msgpack-python <https://pypi.python.org/pypi/msgpack-python>`_ version 0.4.6
* `gevent <https://pypi.python.org/pypi/gevent>`_ version 1.1.2
* `six <https://pypi.python.org/pypi/six>`_ version 1.8.0
* `pyyaml <https://pypi.python.org/pypi/PyYAML>`_ version 3.10
* `argparse <https://pypi.python.org/pypi/argparse>`_ version 1.1
* `msgpack-python <https://pypi.python.org/pypi/msgpack-python>`_ version 0.4.6
* `gevent <https://pypi.python.org/pypi/gevent>`_ version 1.1.2
* `six <https://pypi.python.org/pypi/six>`_ version 1.8.0
Comment on lines +41 to +45
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • argparse — it is built-in in Python 2.6+ AFAIR.
  • msgpack-python is a submdoule of test-run, so it is not necessary to install it separately.
  • All other versions seems obsoleted. And there is not any sense to list them, they're listed in test-run/requirements.txt in the format that pip understands. One who want to install it using a package manager can find related package names in rpm/tarantol.spec or debian/control (but I would left this exercise to a user, just mention where to find it).


To install all required dependencies, follow the instructions for your OS:

* For Debian/Ubuntu, say:

.. code-block:: console

$ apt install -y build-essential cmake make coreutils sed \
$ apt install -y build-essential git cmake make coreutils sed \
autoconf automake libtool zlib1g-dev \
libreadline-dev libncurses5-dev libssl-dev \
libunwind-dev libicu-dev \
python python-pip python-setuptools python-dev \
python-msgpack python-yaml python-argparse python-six python-gevent
python-msgpack python-yaml python-six python-gevent

* For RHEL/CentOS (versions under 8)/Fedora, say:

.. code-block:: console

$ yum install -y gcc gcc-c++ cmake make coreutils sed \
$ yum install -y gcc gcc-c++ git cmake make coreutils sed \
autoconf automake libtool zlib-devel \
readline-devel ncurses-devel openssl-devel \
libunwind-devel libicu-devel \
python python-pip python-setuptools python-devel \
python-msgpack python-yaml python-argparse python-six python-gevent
python-msgpack python-yaml python-six python-gevent
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's is not so trivial considering that it is Python 2 packages on CentOS 7, but Python 3 ones on CentOS 8 / Fedora. I would just suggest to use pip --user -r test-run/requirements.txt or pip -r test-run/requirements.txt from a virtualenv environments. We can mention that the same can be installed with packages, but, to be honest, if one want, (s)he will do it anyway based on the requirements.txt content. So, let's stick to pip for simplicity.


* For CentOS 8, say:

.. code-block:: console

$ yum install epel-release
$ curl -s https://packagecloud.io/install/repositories/packpack/backports/script.rpm.sh | sudo bash
$ yum install -y gcc gcc-c++ cmake make coreutils sed \
$ yum install -y gcc gcc-c++ git cmake make sed \
autoconf automake libtool zlib-devel \
readline-devel ncurses-devel openssl-devel \
libunwind-devel libicu-devel \
Expand All @@ -87,11 +87,11 @@ the preferences can differ. But strategically the steps are always the same.

.. code-block:: console

$ brew install cmake make autoconf binutils zlib \
$ brew install cmake make git autoconf binutils zlib \
autoconf automake libtool \
readline ncurses openssl libunwind-headers icu4c \
&& pip install python-daemon \
msgpack-python pyyaml configargparse six gevent
msgpack-python pyyaml six gevent

.. NOTE::

Expand All @@ -112,7 +112,7 @@ the preferences can differ. But strategically the steps are always the same.
autoconf automake libtool \
readline ncurses openssl libunwind icu \
python27 py27-pip py27-setuptools py27-daemon \
py27-msgpack py27-yaml py27-argparse py27-six py27-gevent
py27-msgpack py27-yaml py27-six py27-gevent

If some Python modules are not available in a repository,
it is best to set up the modules by getting a tarball and
Expand Down