Skip to content

Commit 976db54

Browse files
committed
docs: update building & installation instructions
1 parent c895a3b commit 976db54

File tree

3 files changed

+57
-85
lines changed

3 files changed

+57
-85
lines changed

docs/source/topics/building.md

Lines changed: 23 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
# Building
22

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].
85

96
These packages can be successfully installed on other, compatible systems, but
107
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.
139

1410
## Compatibility
1511

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).
1715

1816
## Dependencies
1917

2018
The C/C++ driver depends on the following software:
2119

22-
* [CMake] v2.6.4+
20+
* [CMake] v3.15+
2321
* [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)
2523

2624
__\*__ Use the `CASS_USE_OPENSSL` CMake option to enable/disable OpenSSL
2725
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:
3129
- `libuv` is only required for building tests and some of the examples, not the driver itself.
3230
- `OpenSSL` is only required if you want to enable TLS support in the driver.
3331

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
4233

4334
### Installing dependencies
4435

4536
#### Initial environment setup
4637

47-
##### CentOS/RHEL (Yum)
38+
##### RHEL/Rocky (dnf)
4839

4940
```bash
50-
yum install automake cmake gcc-c++ git libtool
41+
dnf install automake cmake gcc-c++ git libtool
5142
```
5243

5344
##### Ubuntu (APT)
5445

5546
```bash
56-
apt-get update
57-
apt-get install build-essential cmake git
47+
apt update
48+
apt install build-essential cmake git
5849
```
5950

6051
##### Mac OS (Brew)
@@ -78,24 +69,16 @@ make sure you install v1.x.
7869
##### Ubuntu
7970

8071
```bash
81-
sudo apt-get update
82-
sudo apt-get install libuv-dev
72+
sudo apt update
73+
sudo apt install libuv-dev
8374
```
8475

85-
##### CentOS/RHEL
76+
##### RHEL/Rocky
8677

8778
```bash
8879
sudo dnf install libuv-devel
8980
```
9081

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-
9982
##### Mac OS (Brew)
10083

10184
```bash
@@ -112,16 +95,16 @@ Follow the instructions in the downloaded package to build and install it.
11295

11396
#### OpenSSL
11497

115-
##### CentOS (Yum)
98+
##### RHEL/Rocky (dnf)
11699

117100
```bash
118-
yum install openssl-devel
101+
dnf install openssl-devel
119102
```
120103

121104
##### Ubuntu (APT)
122105

123106
```bash
124-
apt-get install libssl-dev
107+
apt install libssl-dev
125108
```
126109

127110
##### Mac OS (Brew)
@@ -130,8 +113,7 @@ apt-get install libssl-dev
130113
brew install openssl
131114
```
132115

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
135117
available to the building libraries:
136118

137119
```bash
@@ -140,16 +122,8 @@ brew link --force openssl
140122

141123
##### Manually build and install
142124

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.
153127

154128
### Building and installing the C/C++ driver
155129

@@ -181,7 +155,7 @@ Tests (integration and unit) are not built by default and need to be enabled.
181155
cmake -DCASS_BUILD_TESTS=On ..
182156
```
183157

184-
__Note__: This will build both the integration and unit tests
158+
__Note__: This will build both the integration and unit tests.
185159

186160
##### Integration tests
187161

@@ -196,8 +170,6 @@ cmake -DCASS_BUILD_UNIT_TESTS=On ..
196170
```
197171

198172
[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
201173
[Homebrew]: https://brew.sh
202174
[CMake]: http://www.cmake.org/download
203175
[libuv]: http://libuv.org

docs/source/topics/getting-started.md

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,53 +7,51 @@
77
#### Dependencies
88

99
Packages for the dependencies: libuv (1.x), OpenSSL can be installed
10-
from distribution's repositories and/or EPEL. Please note that `apt-get` can
11-
handle the dependencies by itself, therefore this step can likely be omitted
12-
on Ubuntu.
10+
from distribution's repositories.
1311

1412
```bash
15-
# Example: Ubuntu 18.04:
16-
sudo apt-get update
17-
sudo apt-get install -y libuv1 openssl libssl
13+
# Example: Ubuntu/Debian:
14+
sudo apt update
15+
sudo apt install -y libuv1 openssl libssl
1816

19-
# Example: CentOS 7:
20-
sudo yum install -y epel-release
21-
sudo yum install -y libuv openssl
17+
# Example: Rocky/RedHat:
18+
sudo dnf install -y libuv openssl
2219
```
2320

2421
The driver can also be [built from source], in which case dependencies need
2522
to be installed in `-dev` or `-devel` versions.
2623

2724
### Driver
2825

29-
Packages are currently available for the following platforms:
30-
31-
* CentOS 7
32-
* Ubuntu 18.04 LTS
26+
Packages are available for some platforms - see the [Installation section](installation.md) for a list.
3327

3428
They are available for download from the [Releases][cpp-rust-driver-releases] section.
3529

36-
NOTE: If you have Datastax cpp-driver installed you need to remove it first:
30+
NOTE: If you have Datastax or ScyllaDB C/C++ Driver installed, you need to remove it first:
3731

3832
```bash
3933
# Ubuntu/Debian:
40-
sudo apt-get remove cassandra-cpp-driver
34+
sudo apt remove cassandra-cpp-driver
35+
sudo apt remove scylla-cpp-driver
4136

4237

43-
# CentOS/RedHat:
44-
sudo yum remove cassandra-cpp-driver
38+
# Rocky/RedHat:
39+
sudo dnf remove cassandra-cpp-driver
40+
sudo dnf remove scylla-cpp-driver
4541
```
4642

43+
<!-- FIXME: Note that there is only a `dev` package for Ubuntu. Is it expected? -->
44+
<!-- Also, the name is `cpp-driver`, not `cpp-rust-driver`. -->
4745
```bash
48-
# Example: Ubuntu 18.04/Debian:
49-
wget https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver_2.15.2-1_amd64.deb https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver-dev_2.15.2-1_amd64.deb
50-
sudo apt-get update
51-
sudo apt-get install -y ./scylla-cpp-driver_2.15.2-1_amd64.deb ./scylla-cpp-driver-dev_2.15.2-1_amd64.deb
46+
# Example: Ubuntu/Debian:
47+
wget https://github.com/scylladb/cpp-rust-driver/releases/download/v0.5.1/libscylla-cpp-driver-dev_0.5.1-0.20250716.8a3d0fe0c219-0ubuntu1.noble_amd64.deb
48+
sudo apt update
49+
sudo apt install -y ./libscylla-cpp-driver-dev_0.5.1-0.20250716.8a3d0fe0c219-0ubuntu1.noble_amd64.deb
5250

5351

54-
# Example: CentOS 7/RedHat:
55-
wget https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver-2.15.2-1.el7.x86_64.rpm https://github.com/scylladb/cpp-driver/releases/download/2.15.2-1/scylla-cpp-driver-devel-2.15.2-1.el7.x86_64.rpm
56-
sudo yum localinstall -y scylla-cpp-driver-2.15.2-1.el7.x86_64.rpm scylla-cpp-driver-devel-2.15.2-1.el7.x86_64.rpm
52+
# Example: Rocky/RedHat:
53+
wget https://github.com/scylladb/cpp-rust-driver/releases/download/v0.5.1/scylla-cpp-rust-driver-0.5.1-0.20250716.8a3d0fe0c219.fc41.x86_64.rpm https://github.com/scylladb/cpp-rust-driver/releases/download/v0.5.1/scylla-cpp-rust-driver-devel-0.5.1-0.20250716.8a3d0fe0c219.fc41.x86_64.rpm
54+
sudo dnf install -y ./scylla-cpp-rust-driver-0.5.1-0.20250716.8a3d0fe0c219.fc41.x86_64.rpm ./scylla-cpp-rust-driver-devel-0.5.1-0.20250716.8a3d0fe0c219.fc41.x86_64.rpm
5755
```
5856

5957
## Connecting

docs/source/topics/installation.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,33 @@
22

33
## Packages
44

5-
Pre-built packages are available for CentOS 7 and Ubuntu 18.04.
5+
Pre-built packages are available for:
6+
- Rocky Linux 9,
7+
- Fedora 41 and 42,
8+
- Ubuntu 22.04 LTS and 24.04 LTS.
69

7-
### CentOS
10+
### RHEL/Rocky
811

9-
To install the dependencies we recommend using EPEL:
12+
To install the dependencies:
1013

1114
```bash
12-
sudo yum install -y epel-release
13-
sudo yum -y install libuv openssl
15+
sudo dnf -y install libuv openssl
1416
```
1517

1618
Install the runtime library. Replace `<VERSION>` with the version+platform string:
1719

1820
```bash
19-
sudo yum localinstall -y scylla-cpp-driver-<VERSION>.rpm
21+
sudo dnf install -y scylla-cpp-driver-<VERSION>.rpm
2022
```
2123

2224
When developing against the driver you'll also want to install the development
2325
package and the debug symbols:
2426

2527
```bash
26-
sudo yum localinstall -y scylla-cpp-driver-devel-<VERSION>.rpm scylla-cpp-driver-debuginfo-<VERSION>.rpm
28+
sudo dnf install -y scylla-cpp-driver-devel-<VERSION>.rpm scylla-cpp-driver-debuginfo-<VERSION>.rpm
2729
```
2830

29-
### Ubuntu
31+
### Ubuntu/Debian
3032

3133
Ubuntu's apt-get will resolve and install the dependencies by itself.
3234
Replace `<VERSION>` with the appropriate version+platform string:
@@ -45,6 +47,6 @@ sudo apt-get install -y ./scylla-cpp-driver-dev_<VERSION>.deb ./scylla-cpp-drive
4547

4648
## Building
4749

48-
If pre-built packages are not available for your platform or architecture you
49-
will need to build the driver from source. Directions for building and
50+
If pre-built packages are not available for your platform or architecture,
51+
you will need to build the driver from source. Directions for building and
5052
installing the ScyllaDB C/C++ Driver can be found [here](building.md).

0 commit comments

Comments
 (0)