1
1
# Building
2
2
3
- The ScyllaDB C/C++ Driver will build on most standard Unix-like and Microsoft
4
- Windows platforms. Packages are available for the following platforms:
5
-
6
- * [ CentOS 7 64-bit] [ cpp-driver-centos7 ]
7
- * [ Ubuntu 18.04 LTS 64-bit] [ cpp-driver-ubuntu18-04 ]
3
+ The ScyllaDB C/C++ Driver will build on most standard Unix-like platforms.
4
+ Packages are available for the platforms listed in [ Installation] [ installation.md ] .
8
5
9
6
These packages can be successfully installed on other, compatible systems, but
10
7
we do not support such configurations and recommend building from sources
11
- instead. Please note that although Microsoft Windows and OS X builds are possible,
12
- ScyllaDB does not support these platforms.
8
+ instead.
13
9
14
10
## Compatibility
15
11
16
- * Compilers: GCC 4.1.2+ Clang 3.4+, and MSVC 2012+
12
+ * Compilers:
13
+ - rustc 1.82+ (as part of the Rust toolchain, available at [ rustup.rs] );
14
+ - any reasonable C/C++ compiler, such as GCC or Clang (for tests & examples).
17
15
18
16
## Dependencies
19
17
20
18
The C/C++ driver depends on the following software:
21
19
22
- * [ CMake] v2.6.4 +
20
+ * [ CMake] v3.15 +
23
21
* [ libuv] 1.x (only for tests and examples, not required for the driver itself)
24
- * [ OpenSSL] v1 .0.x or v1.1 .x \*
22
+ * [ OpenSSL] versions 1 .0.1 through 3.x .x are supported (optional, only if you want to enable TLS support in the driver)
25
23
26
24
__ \* __ Use the ` CASS_USE_OPENSSL ` CMake option to enable/disable OpenSSL
27
25
support. Disabling this option will disable SSL/TLS protocol support
@@ -31,30 +29,23 @@ Note that only `CMake` is mandatory for building the driver. The others:
31
29
- ` libuv ` is only required for building tests and some of the examples, not the driver itself.
32
30
- ` OpenSSL ` is only required if you want to enable TLS support in the driver.
33
31
34
- ## Linux/Mac OS
35
-
36
- The driver is known to build on CentOS/RHEL 6/7/8, Mac OS X 10.10/10.11 (Yosemite
37
- and El Capitan), Mac OS 10.12/10.13 (Sierra and High Sierra), and Ubuntu
38
- 14.04/16.04/18.04 LTS.
39
-
40
- __ NOTE__ : The driver will also build on most standard Unix-like systems using
41
- GCC 4.1.2+ or Clang 3.4+.
32
+ ## Linux/MacOS
42
33
43
34
### Installing dependencies
44
35
45
36
#### Initial environment setup
46
37
47
- ##### CentOS/ RHEL (Yum )
38
+ ##### RHEL/Rocky (dnf )
48
39
49
40
``` bash
50
- yum install automake cmake gcc-c++ git libtool
41
+ dnf install automake cmake gcc-c++ git libtool
51
42
```
52
43
53
44
##### Ubuntu (APT)
54
45
55
46
``` bash
56
- apt-get update
57
- apt-get install build-essential cmake git
47
+ apt update
48
+ apt install build-essential cmake git
58
49
```
59
50
60
51
##### Mac OS (Brew)
@@ -78,24 +69,16 @@ make sure you install v1.x.
78
69
##### Ubuntu
79
70
80
71
``` bash
81
- sudo apt-get update
82
- sudo apt-get install libuv-dev
72
+ sudo apt update
73
+ sudo apt install libuv-dev
83
74
```
84
75
85
- ##### CentOS/ RHEL
76
+ ##### RHEL/Rocky
86
77
87
78
``` bash
88
79
sudo dnf install libuv-devel
89
80
```
90
81
91
- If your package manager is not able to locate ` libuv ` , you might still be able to
92
- install it from EPEL:
93
-
94
- ``` bash
95
- sudo yum install -y epel-release
96
- sudo yum install -y libuv-devel
97
- ```
98
-
99
82
##### Mac OS (Brew)
100
83
101
84
``` bash
@@ -112,16 +95,16 @@ Follow the instructions in the downloaded package to build and install it.
112
95
113
96
#### OpenSSL
114
97
115
- ##### CentOS (Yum )
98
+ ##### RHEL/Rocky (dnf )
116
99
117
100
``` bash
118
- yum install openssl-devel
101
+ dnf install openssl-devel
119
102
```
120
103
121
104
##### Ubuntu (APT)
122
105
123
106
``` bash
124
- apt-get install libssl-dev
107
+ apt install libssl-dev
125
108
```
126
109
127
110
##### Mac OS (Brew)
@@ -130,8 +113,7 @@ apt-get install libssl-dev
130
113
brew install openssl
131
114
```
132
115
133
- __ Note__ : For Mac OS X 10.11 (El Capitan) and Mac OS 10.12/10.13 (Sierra and
134
- High Sierra) a link needs to be created in order to make OpenSSL
116
+ __ Note__ : For Mac OS X, a link needs to be created in order to make OpenSSL
135
117
available to the building libraries:
136
118
137
119
``` bash
@@ -140,16 +122,8 @@ brew link --force openssl
140
122
141
123
##### Manually build and install
142
124
143
- ``` bash
144
- pushd /tmp
145
- wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2u.tar.gz
146
- tar xzf openssl-1.0.2u.tar.gz
147
- pushd openssl-1.0.2u
148
- CFLAGS=-fpic ./config shared
149
- make install
150
- popd
151
- popd
152
- ```
125
+ Browse [ https://openssl-library.org/source/ ] and download the newest stable version available.
126
+ Follow the instructions in the downloaded package to build and install it.
153
127
154
128
### Building and installing the C/C++ driver
155
129
@@ -181,7 +155,7 @@ Tests (integration and unit) are not built by default and need to be enabled.
181
155
cmake -DCASS_BUILD_TESTS=On ..
182
156
```
183
157
184
- __ Note__ : This will build both the integration and unit tests
158
+ __ Note__ : This will build both the integration and unit tests.
185
159
186
160
##### Integration tests
187
161
@@ -196,8 +170,6 @@ cmake -DCASS_BUILD_UNIT_TESTS=On ..
196
170
```
197
171
198
172
[ download server ] : https://github.com/scylladb/cpp-rust-driver/releases
199
- [ cpp-driver-centos7 ] : https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver-2.15.2-1.el7.x86_64.rpm
200
- [ cpp-driver-ubuntu18-04 ] : https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver_2.15.2-1_amd64.deb
201
173
[ Homebrew ] : https://brew.sh
202
174
[ CMake ] : http://www.cmake.org/download
203
175
[ libuv ] : http://libuv.org
0 commit comments