forked from fastio/1store
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Peng Jian
committed
Jun 16, 2017
1 parent
020e749
commit cdad9ea
Showing
5 changed files
with
107 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## Building Seastar on CentOS | ||
|
||
### Building seastar on CentOS 7 | ||
|
||
Installing required packages: | ||
``` | ||
sudo ./install-dependencies.sh | ||
``` | ||
|
||
To compile Seastar explicitly using gcc 5, use: | ||
``` | ||
./configure.py --compiler=/opt/scylladb/bin/g++ --static-stdc++ | ||
ninja-build | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
## Building Seastar on Fedora | ||
|
||
### Building seastar on Fedora 21 and later | ||
|
||
Installing required packages: | ||
``` | ||
sudo ./install-dependencies.sh | ||
``` | ||
|
||
You then need to run the following to create the "build.ninja" file: | ||
``` | ||
./configure.py | ||
``` | ||
Note it is enough to run this once, and you don't need to repeat it before | ||
every build. build.ninja includes a rule which will automatically re-run | ||
./configure.py if it changes. | ||
|
||
Then finally: | ||
``` | ||
ninja-build | ||
``` | ||
|
||
In case there are compilation issues, especially like ```g++: internal compiler error: Killed (program cc1plus)``` try giving more memory to gcc, either by limiting the amount of threads ( -j1 ) and/or allowing at least 4g ram to your machine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## Building Seastar on Ubuntu | ||
|
||
### Building seastar on Ubuntu 14.04/15.10/16.04 | ||
|
||
Installing required packages: | ||
``` | ||
sudo ./install-dependencies.sh | ||
``` | ||
|
||
To compile Seastar explicitly using gcc 5, use: | ||
``` | ||
./configure.py --compiler=g++-5 | ||
ninja | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#!/bin/bash | ||
# | ||
# This file is open source software, licensed to you under the terms | ||
# of the Apache License, Version 2.0 (the "License"). See the NOTICE file | ||
# distributed with this work for additional information regarding copyright | ||
# ownership. 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. | ||
# | ||
|
||
. /etc/os-release | ||
|
||
if [ "$ID" = "ubuntu" ] || [ "$ID" = "debian" ]; then | ||
if [ "$VERSION_ID" = "14.04" ]; then | ||
if [ ! -f /usr/bin/add-apt-repository ]; then | ||
apt-get -y install software-properties-common | ||
fi | ||
|
||
add-apt-repository -y ppa:ubuntu-toolchain-r/test | ||
apt-get -y update | ||
fi | ||
apt-get install -y libaio-dev ninja-build ragel libhwloc-dev libnuma-dev libpciaccess-dev libcrypto++-dev libboost-all-dev libxen-dev libxml2-dev xfslibs-dev libgnutls28-dev liblz4-dev libsctp-dev gcc make libprotobuf-dev protobuf-compiler python3 libunwind8-dev systemtap-sdt-dev | ||
if [ "$ID" = "ubuntu" ]; then | ||
apt-get install -y g++-5 | ||
echo "g++-5 is installed for Seastar. To build Seastar with g++-5, specify '--compiler=g++-5' on configure.py" | ||
else # debian | ||
apt-get install -y g++ | ||
fi | ||
elif [ "$ID" = "centos" ] || [ "$ID" = "fedora" ]; then | ||
if [ "$ID" = "centos" ]; then | ||
yum install -y epel-release | ||
curl -o /etc/yum.repos.d/scylla-1.2.repo http://downloads.scylladb.com/rpm/centos/scylla-1.2.repo | ||
fi | ||
yum install -y libaio-devel hwloc-devel numactl-devel libpciaccess-devel cryptopp-devel libxml2-devel xfsprogs-devel gnutls-devel lksctp-tools-devel lz4-devel gcc make protobuf-devel protobuf-compiler libunwind-devel systemtap-sdt-devel | ||
if [ "$ID" = "fedora" ]; then | ||
dnf install -y gcc-c++ ninja-build ragel boost-devel xen-devel libubsan libasan | ||
else # centos | ||
yum install -y scylla-binutils scylla-gcc-c++ scylla-ninja-build scylla-ragel scylla-boost-devel scylla-libubsan scylla-libasan scylla-libstdc++-static python34 | ||
echo "g++-5 is installed for Seastar. To build Seastar with g++-5, specify '--compiler=/opt/scylladb/bin/g++ --static-stdc++' on configure.py" | ||
echo "Before running ninja-build, execute following command: . /etc/profile.d/scylla.sh" | ||
fi | ||
fi |