diff --git a/csharp/DEVELOPER.md b/csharp/DEVELOPER.md index ca5c9369b4..e6a6ae70e3 100644 --- a/csharp/DEVELOPER.md +++ b/csharp/DEVELOPER.md @@ -12,25 +12,13 @@ The GLIDE C# wrapper consists of both C# and Rust code. Software Dependencies -- .net sdk 6 or later -- git -- GCC -- pkg-config -- protoc (protobuf compiler) -- openssl -- openssl-dev -- rustup +- .Net SDK 6 or later +- [GLIDE core library](../glide-core/README.md) dependencies **Dependencies installation for MacOS** visit https://dotnet.microsoft.com/en-us/download/dotnet to download .net installer -```bash -brew update -brew install git gcc pkgconfig protobuf openssl -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -``` #### Building and installation steps diff --git a/glide-core/README.md b/glide-core/README.md index 395377f908..90319e492c 100644 --- a/glide-core/README.md +++ b/glide-core/README.md @@ -1,5 +1,70 @@ # Rust core +## Prerequisites + +Please consider installing the following packages: + +- GCC +- pkg-config +- openssl +- openssl-dev +- rust +- protoc (protobuf compiler) + +**Protoc installation** + +Download a binary matching your system from the [official release page](https://github.com/protocolbuffers/protobuf/releases/tag/v25.1) and make it accessible in your $PATH by moving it or creating a symlink. +For example, on Linux you can copy it to `/usr/bin`: + +```bash +sudo cp protoc /usr/bin/ +``` + +Check that the protobuf compiler is installed: +```bash +protoc --version +``` + +**Dependencies installation for Ubuntu** + +```bash +sudo apt update -y +sudo apt install -y libssl-dev openssl gcc curl pkg-config +``` + +**Dependencies installation for MacOS** + +```bash +brew update +brew install gcc pkgconfig openssl curl +``` + +**Dependencies installation for CentOS** + +```bash +sudo yum update -y +sudo yum install -y gcc pkgconfig openssl openssl-devel curl +``` + +**Dependencies installation for Amazon Linux** + +```bash +sudo yum update -y +sudo yum install -y gcc pkgconfig openssl openssl-devel which curl redis6 gettext --allowerasing +``` + +**Rust toolchain installation** + +```bash +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +source "$HOME/.cargo/env" +``` + +Check that the Rust compiler is installed: +```bash +rustc --version +``` + ## Recommended VSCode extensions [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) - Rust language server. diff --git a/java/README.md b/java/README.md index fbedc1b499..40b35a8ba5 100644 --- a/java/README.md +++ b/java/README.md @@ -25,31 +25,31 @@ At the moment, the Java client must be built from source. Software Dependencies: - JDK 11+ -- git -- protoc (protobuf compiler) -- Rust +- [GLIDE core library](../glide-core/README.md) dependencies #### Prerequisites **Dependencies installation for Ubuntu** + ```bash sudo apt update -y -sudo apt install -y protobuf-compiler openjdk-11-jdk openssl gcc -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" +sudo apt install -y openjdk-11-jdk ``` -**Dependencies for MacOS** +**Dependencies installation for MacOS** -Ensure that you have a minimum Java version of JDK 11 installed on your system: ```bash - $ echo $JAVA_HOME -/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home +brew update +brew install openjdk@11 +``` + +**Java version check** -$ java -version - openjdk version "11.0.1" 2018-10-16 - OpenJDK Runtime Environment 18.9 (build 11.0.1+13) - OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode) +Ensure that you have a minimum Java version of JDK 11 installed on your system: + +```bash +echo $JAVA_HOME +java -version ``` #### Building and installation steps diff --git a/node/DEVELOPER.md b/node/DEVELOPER.md index 6520f80270..57fd825c66 100644 --- a/node/DEVELOPER.md +++ b/node/DEVELOPER.md @@ -14,43 +14,31 @@ Software Dependencies > Note: Currently, we only support npm major version 8. f you have a later version installed, you can downgrade it with `npm i -g npm@8`. -- npm v8 -- git -- GCC -- pkg-config -- protoc (protobuf compiler) -- openssl -- openssl-dev -- rustup +- npm v8 +- [GLIDE core library](../glide-core/README.md) dependencies **Dependencies installation for Ubuntu** ```bash sudo apt update -y -sudo apt install -y nodejs npm git gcc pkg-config protobuf-compiler openssl libssl-dev +sudo apt install -y nodejs npm npm i -g npm@8 -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" ``` **Dependencies installation for CentOS** ```bash sudo yum update -y -sudo yum install -y nodejs git gcc pkgconfig protobuf-compiler openssl openssl-devel gettext +sudo yum install -y nodejs gettext npm i -g npm@8 -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" ``` **Dependencies installation for MacOS** ```bash brew update -brew install nodejs git gcc pkgconfig protobuf openssl +brew install nodejs npm i -g npm@8 -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" ``` #### Building and installation steps diff --git a/python/DEVELOPER.md b/python/DEVELOPER.md index 3368616b69..37d3784eee 100644 --- a/python/DEVELOPER.md +++ b/python/DEVELOPER.md @@ -12,64 +12,33 @@ The GLIDE for Redis Python wrapper consists of both Python and Rust code. Rust b Software Dependencies -- python3 virtualenv -- git -- GCC -- pkg-config -- protoc (protobuf compiler) >= v3.20.0 -- openssl -- openssl-dev -- rustup +- python3 +- python3 packages: pip & virtualenv +- [GLIDE core library](../glide-core/README.md) dependencies **Dependencies installation for Ubuntu** ```bash sudo apt update -y -sudo apt install -y python3 python3-venv git gcc pkg-config openssl libssl-dev unzip -# Install rust -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -# Check that the Rust compiler is installed -rustc --version -# Install protobuf compiler -PB_REL="https://github.com/protocolbuffers/protobuf/releases" -curl -LO $PB_REL/download/v3.20.3/protoc-3.20.3-linux-x86_64.zip -unzip protoc-3.20.3-linux-x86_64.zip -d $HOME/.local -export PATH="$PATH:$HOME/.local/bin" -# Check that the protobuf compiler is installed -protoc --version +sudo apt install -y python3 python3-venv python3-pip +pip3 install -r requirements.txt ``` **Dependencies installation for CentOS** ```bash sudo yum update -y -sudo yum install -y python3 git gcc pkgconfig openssl openssl-devel unzip -pip3 install virtualenv -# Install rust -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -# Check that the Rust compiler is installed -rustc --version -# Install protobuf compiler -PB_REL="https://github.com/protocolbuffers/protobuf/releases" -curl -LO $PB_REL/download/v3.20.3/protoc-3.20.3-linux-x86_64.zip -unzip protoc-3.20.3-linux-x86_64.zip -d $HOME/.local -export PATH="$PATH:$HOME/.local/bin" -# Check that the protobuf compiler is installed -protoc --version +sudo yum install -y python3 +pip3 install -r requirements.txt ``` **Dependencies installation for MacOS** ```bash brew update -brew install python3 git gcc pkgconfig protobuf@3 openssl +brew install python3 pip3 install virtualenv -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -source "$HOME/.cargo/env" -# Check that the Rust compiler is installed -rustc --version +pip3 install -r requirements.txt ``` #### Building and installation steps @@ -102,7 +71,7 @@ Before starting this step, make sure you've installed all software requirments. ``` 6. Install requirements: ```bash - pip install -r requirements.txt + pip3 install -r requirements.txt ``` 7. Build the Python wrapper in release mode: ``` @@ -121,7 +90,7 @@ Before starting this step, make sure you've installed all software requirments. - Install Python development requirements with: ```bash - pip install -r python/dev_requirements.txt + pip3 install -r python/dev_requirements.txt ``` - For a fast build, execute `maturin develop` without the release flag. This will perform an unoptimized build, which is suitable for developing tests. Keep in mind that performance is significantly affected in an unoptimized build, so it's required to include the "--release" flag when measuring performance.