docs: add dependency install instructions#103
Conversation
Previously not all required dependencies were listed so builds failed for some users
WalkthroughThe pull request updates the Changes
Assessment against linked issues
Possibly related PRs
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (1)
README.md (1)
Line range hint
109-116: Enhance application directory documentationThe section would benefit from additional details about:
- Required directory permissions
- Common configuration issues and troubleshooting steps
- What to do if the .env file needs to be reset
Consider adding:
| Linux | `/home/<user>/.config/dash-evo-tool/` | +> **Note**: Ensure you have write permissions to the application directory. If you encounter permission errors, you may need to adjust the directory permissions. + +#### Troubleshooting + +If you encounter configuration issues: +1. Make a backup of your existing .env file +2. Copy .env.example to the application directory as .env +3. Update the configuration as needed🧰 Tools
🪛 LanguageTool
[grammar] ~19-~19: You’ve repeated a verb. Did you mean to only write one of them?
Context: ...Installation](#installation) - Getting Started - Start the App - [Applicati...(REPEATED_VERBS)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~19-~19: You’ve repeated a verb. Did you mean to only write one of them?
Context: ...Installation](#installation) - Getting Started - Start the App - [Applicati...
(REPEATED_VERBS)
🔇 Additional comments (2)
README.md (2)
16-16: LGTM: Table of Contents updates are accurate.
The new TOC entries properly reflect the added sections while maintaining consistent formatting.
Also applies to: 21-21
209-221: LGTM: Contributing section formatting improvements
The addition of code blocks for git commands improves readability and consistency.
| - Install Protocol Buffers Compiler (protoc). Download the appropriate protoc binary for your | ||
| system, unzip, and install: | ||
|
|
||
| ``` shell | ||
| wget https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protoc-26.1-linux-x86_64.zip | ||
| sudo unzip protoc-*-linux-x86_64.zip -d /usr/local | ||
| ``` |
There was a problem hiding this comment.
Add architecture-independent protoc installation instructions
The current protoc installation instructions have several limitations:
- They assume x86_64 architecture
- The version (26.1) is hardcoded without explaining version requirements
- No verification steps are included
Consider updating to:
- wget https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protoc-26.1-linux-x86_64.zip
- sudo unzip protoc-*-linux-x86_64.zip -d /usr/local
+ # For Ubuntu/Debian:
+ sudo apt install -y protobuf-compiler
+ # Verify installation:
+ protoc --version # Should be 3.x or higherIf a specific version is required, please document the minimum version requirement.
Committable suggestion skipped: line range outside the PR's diff.
| ### Dependencies | ||
|
|
||
| - Install build-essential tools, SSL development libraries, and other required dependencies. On | ||
| Ubuntu, use: | ||
|
|
||
| ``` shell | ||
| sudo apt install -y build-essential libssl-dev pkg-config unzip | ||
| ``` | ||
|
|
||
| On other Unix-like systems, use the equivalent package management commands. | ||
|
|
There was a problem hiding this comment.
Document tenderdash-proto dependency requirements
Given that issue #45 specifically mentioned build failures with tenderdash-proto, we should explicitly document any specific requirements for this dependency.
Consider adding:
On other Unix-like systems, use the equivalent package management commands.
+### Additional Dependencies
+
+Some components have specific requirements:
+
+- **tenderdash-proto**: Requires Protocol Buffers Compiler (protoc) and build tools
+ - Verify installation with: `protoc --version`
+ - If you encounter build errors, ensure all dependencies are properly installed📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Dependencies | |
| - Install build-essential tools, SSL development libraries, and other required dependencies. On | |
| Ubuntu, use: | |
| ``` shell | |
| sudo apt install -y build-essential libssl-dev pkg-config unzip | |
| ``` | |
| On other Unix-like systems, use the equivalent package management commands. | |
| ### Dependencies | |
| - Install build-essential tools, SSL development libraries, and other required dependencies. On | |
| Ubuntu, use: | |
| - Install build-essential tools, SSL development libraries, and other required dependencies. On | ||
| Ubuntu, use: |
There was a problem hiding this comment.
💡 Codebase verification
Instructions need platform-specific dependency commands
The README currently only provides Ubuntu-specific instructions for installing dependencies, with a vague reference to "equivalent package management commands" for other Unix-like systems. However, the codebase shows the tool supports multiple platforms (Windows, macOS, Linux). Specific instructions should be added for:
- macOS (using Homebrew)
- Windows (using vcpkg or similar)
- Other major Linux distributions (Fedora, RHEL, etc.)
The following sections need platform-specific commands:
- Build essential tools installation
- SSL development libraries
- pkg-config (Windows equivalent)
- Protocol buffer installation (currently shows Linux x86_64 specific commands)
🔗 Analysis chain
Verify instructions on other platforms
While the instructions have been verified on Ubuntu 24.04, we should ensure they work on other common platforms.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for platform-specific installation instructions in issues/PRs
# Search for platform-specific installation issues
gh issue list --search "in:title installation" --json number,title,body --jq '.[] | select(.body | contains("Ubuntu") or contains("Debian") or contains("macOS") or contains("Windows"))'
# Search for related PRs
gh pr list --search "in:title installation" --json number,title,body --jq '.[] | select(.body | contains("Ubuntu") or contains("Debian") or contains("macOS") or contains("Windows"))'
Length of output: 372
Script:
#!/bin/bash
# Let's check the README.md and documentation for platform-specific installation instructions
rg -A 5 -B 5 "Install|Dependencies|Requirements" README.md docs/ || true
# Also search for any platform-specific mentions
rg -i "ubuntu|debian|macos|windows|linux" README.md docs/ || true
# Check if there are any platform-specific installation scripts
fd -e sh -e bat -e ps1 "install|setup" || true
Length of output: 3071
pauldelucia
left a comment
There was a problem hiding this comment.
Do you want to do anything about CodeRabbit suggestions? If not, I will merge it in. (or you can if you're able)
Previously not all required dependencies were listed so builds failed for some users. The build was verified on a clean Ubuntu 24.04 VM using these instructions. Actual running of the app could not be tested since the VM lacked GUI support.
Closes #45
Summary by CodeRabbit
README.mdto include a new "Dependencies" section outlining essential tools and libraries.