# CAST Highlight Code Reader - Installation Guide > **⚠️ Minimum Requirements:** OpenJDK 17 or higher ## Table of Contents - [Windows](#windows) - [Debian / Ubuntu](#debian--ubuntu) - [Fedora / Rocky Linux / RHEL](#fedora--rocky-linux--rhel) - [macOS](#macos) - [Common Issues](#common-issues) - [Support](#support) --- ## Windows ### Prerequisites - **OpenJDK 17** - [Installation guide](https://openjdk.org/install/) --- ## Debian / Ubuntu ### Prerequisites #### 1. Find and Install OpenJDK 17 First, search for available OpenJDK versions: ```bash apt search openjdk | grep -i "^openjdk.*jre" ``` Then install OpenJDK 17 (or newer): ```bash sudo apt install openjdk-17-jre-headless ``` Verify the installation: ```bash java -version ``` #### 2. Install Perl and build tools ```bash sudo apt install -y build-essential ``` #### 3. Install Perl libraries ```bash sudo cpan -T Digest::SHA XML::LibXML JSON Time::HiRes Math::BigInt ``` #### 4. Fix libssl.so.1.1 error (if needed) If you get the following error: ``` libssl.so.1.1: cannot open shared object file: No such file or directory ``` Download and install the missing library: ```bash sudo wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb ``` > **Note:** If `wget` doesn't work, see: https://stackoverflow.com/questions/72133316/libssl-so-1-1-cannot-open-shared-object-file-no-such-file-or-directory --- ## Fedora / Rocky Linux / RHEL ### Prerequisites #### 1. Install Server with GUI ```bash sudo dnf groupinstall "Server with GUI" ``` #### 2. Activate EPEL repository (required for WebKit) ```bash sudo dnf install epel-release ``` #### 3. Search and Install WebKit 4.1 (required for Tauri 2) First, search for available WebKit 4.1 versions: ```bash dnf search webkit2gtk4.1 ``` Then install the WebKit 4.1 package found (version 4.1): ```bash sudo dnf install ``` Example (if `webkit2gtk4.1.x86_64` was found): ```bash sudo dnf install webkit2gtk4.1.x86_64 ``` #### 4. Install Perl (if needed) ```bash sudo dnf install perl ``` #### 4.1. Initialize cpan (first time only) ```bash sudo cpan ``` When prompted, answer: - Press Enter to use automatic configuration - Answer "yes" when asked to continue with automatic configuration #### 5. Install Perl libraries ```bash sudo cpan -T Digest::SHA XML::LibXML JSON Time::HiRes Math::BigInt ``` #### 6. Find and Install OpenJDK 17 First, search for available OpenJDK versions: ```bash dnf search openjdk | grep "^openjdk.*devel" ``` Then install OpenJDK 17 (or newer) using the package name found: ```bash sudo dnf install ``` Example (if `java-17-openjdk-devel.x86_64` was found): ```bash sudo dnf install java-17-openjdk-devel.x86_64 ``` Verify the installation: ```bash java -version ``` #### 7. Install RPM package ```bash sudo rpm -ivh ./cast-highlight-code-reader.rpm ``` > **Note:** If installation fails, use these options: > ```bash > sudo rpm -ivh --force --replacefiles ./cast-highlight-code-reader.rpm > ``` #### 8. Fix libssl.so.1.1 error (if needed) If you get the following error: ``` libssl.so.1.1: cannot open shared object file: No such file or directory ``` Install the compatibility package: ```bash sudo dnf install compat-openssl11 ``` --- ## macOS ### Prerequisites #### 1. Install Homebrew ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` #### 2. Find and Install OpenJDK 17 First, search for available OpenJDK versions: ```bash brew search openjdk ``` Then install OpenJDK 17 (or newer) using the package name found: ```bash brew install ``` Example (if `openjdk@17` was found): ```bash brew install openjdk@17 ``` Get information about the installation: ```bash brew info ``` Create symlink for Java wrappers (replace `` with the actual package name): ```bash sudo ln -sfn /usr/local/opt//libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk ``` Example (if `openjdk@17` was installed): ```bash sudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk ``` Verify the installation: ```bash java -version ``` #### 3. Install Perl libraries ```bash sudo cpan -T Digest::SHA XML::LibXML JSON Time::HiRes Math::BigInt ``` --- ## Common Issues ### libssl.so.1.1 missing **Error:** `libssl.so.1.1: cannot open shared object file: No such file or directory` **Solutions:** - **Debian/Ubuntu:** Follow Step 4 in Debian section - **Fedora/Rocky/RHEL:** Follow Step 8 in Fedora section ### WebKit not found (Fedora/Rocky) **Error:** `libwebkit2gtk-4.1.so.0: cannot open shared object file` **Solution:** Ensure EPEL repository is enabled and WebKit is installed: ```bash sudo dnf install epel-release sudo dnf install webkit2gtk4.1.x86_64 ``` --- ## Support For more information and troubleshooting, visit the official CAST Highlight documentation.