Skip to content

Commit cfeff5e

Browse files
committed
MDB Columnstore build instructions, phase 1: install dependencies
This patch install MCS dependencies so that it can build. Most of the code are from [email protected]:drrtuy/cs-docker-tools.git. Signed-off-by: Zhao Junwang <[email protected]>
1 parent bfe90be commit cfeff5e

File tree

3 files changed

+96
-1
lines changed

3 files changed

+96
-1
lines changed

BUILD.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Checking out the source
2+
3+
Since MCS is not meant to be built independently outside outside of MariaDB server, we should checkout the [server](https://github.com/MariaDB/server) code first.
4+
5+
You can clone from github with
6+
7+
git clone [email protected]:MariaDB/server.git
8+
9+
or if you are not a github user,
10+
11+
git clone https://github.com/MariaDB/server.git
12+
13+
branch 10.5 was suggested despite the fact that develop branch of the engine will eventually work with 10.6
14+
15+
git checkout -b 10.5 origin/10.5
16+
17+
MariaDB server contains many git submodules that need to be checked out with,
18+
19+
git submodule update --init --recursive --depth=1
20+
21+
This would be automatically done when you excute cmake, but consider we are focus MCS here, so dependencies of MCS should be installed first.
22+
23+
## Build Prerequisites
24+
25+
The list of Debian or RPM packages dependencies can be installed with:
26+
27+
./install-deps.sh
28+
29+
## Building phase
30+
31+
After the dependencies had been installed, just follow the normal building instrutions to build, MCS will be compiled along with mariadbd.
32+
33+
But for development convenience, we supply a script to build and run Mariadb server in MCS repo.
34+
35+
# TODO
36+

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This repository is not meant to be built independently outside of MariaDB server
99

1010
https://github.com/MariaDB/server
1111

12-
Building instructions are coming soon.
12+
See building instructions [here](BUILD.md).
1313

1414
# Issue tracking
1515

install-deps.sh

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
if test $(id -u) != 0 ; then
5+
SUDO=sudo
6+
fi
7+
export LC_ALL=C
8+
9+
source /etc/os-release
10+
11+
case "$ID" in
12+
ubuntu|debian)
13+
echo "Using apt-get to install dependencies"
14+
$SUDO apt-get update -y
15+
$SUDO apt-get install -y build-essential automake libboost-all-dev bison \
16+
cmake libncurses5-dev libreadline-dev libperl-dev libssl-dev \
17+
libxml2-dev libkrb5-dev flex libpam-dev libreadline-dev libsnappy-dev \
18+
libcurl4-openssl-dev
19+
$SUDO apt-get install -y libboost-dev libboost-all-dev
20+
case "$VERSION" in
21+
*Bionic*)
22+
echo "Install dependencies specific to Ubuntu Bionic"
23+
;;
24+
*Focal*)
25+
echo "Install dependencies specific to Ubuntu Focal"
26+
;;
27+
*)
28+
echo "Unknown OS distribution"
29+
;;
30+
esac
31+
;;
32+
centos)
33+
echo "Using yum to install dependencies"
34+
$SUDO yum -y install epel-release
35+
$SUDO yum -y groupinstall "Development Tools"
36+
$SUDO yum -y install bison ncurses-devel readline-devel perl-devel \
37+
openssl-devel cmake libxml2-devel gperf libaio-devel libevent-devel \
38+
python-devel ruby-devel tree wget pam-devel snappy-devel libicu \
39+
wget strace ltrace gdb rsyslog net-tools openssh-server expect boost \
40+
perl-DBI libicu boost-devel initscripts jemalloc-devel libcurl-devel
41+
;;
42+
opensuse*|suse|sles)
43+
echo "Using zypper to install dependencies"
44+
$SUDO zypper install -y bison ncurses-devel readline-devel \
45+
libopenssl-devel cmake libxml2-devel gperf libaio-devel \
46+
libevent-devel python-devel ruby-devel tree wget pam-devel \
47+
snappy-devel libicu-devel libboost_system-devel \
48+
libboost_filesystem-devel libboost_thread-devel libboost_regex-devel \
49+
libboost_date_time-devel libboost_chrono-devel wget strace ltrace gdb \
50+
rsyslog net-tools expect perl-DBI libicu boost-devel jemalloc-devel \
51+
libcurl-devel gcc gcc-c++ automake libtool
52+
;;
53+
*)
54+
echo "$ID is unknown, dependencies will have to be installed manually."
55+
exit 1
56+
;;
57+
esac
58+
59+
echo "Dependencies have been installed successfully"

0 commit comments

Comments
 (0)