mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2025-12-21 10:20:12 +01:00
260 lines
6.3 KiB
Markdown
260 lines
6.3 KiB
Markdown
# Package Installation Troubleshooting Guide
|
|
|
|
## Recent Update (2025-12-13)
|
|
|
|
The `install.sh` script has been updated to:
|
|
- **Skip plugins by default** (optional, can install manually)
|
|
- **Skip debug symbols by default** (optional, can install manually)
|
|
- **Focus on core packages only** for initial installation
|
|
- **Improve dependency resolution** with `apt-get install -f`
|
|
|
|
## Common Dependency Issues
|
|
|
|
### Issue: Missing libhyprlang2
|
|
|
|
**Error:**
|
|
```
|
|
hypridle depends on libhyprlang2 (>= 0.6.4); however:
|
|
Package libhyprlang2 is not installed.
|
|
```
|
|
|
|
**Cause:** libhyprlang is not included in the current pre-built packages. It needs to be built or installed from Debian repositories.
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Option 1: Install from Debian repositories
|
|
sudo apt-get install libhyprlang2
|
|
|
|
# Option 2: Build from source (fallback to source method in install.sh)
|
|
```
|
|
|
|
### Issue: Missing libaquamarine8
|
|
|
|
**Error:**
|
|
```
|
|
hyprland depends on libaquamarine8 (>= 0.9.5); however:
|
|
Package libaquamarine8 is not installed.
|
|
```
|
|
|
|
**Cause:** Pre-built packages have libaquamarine9, not libaquamarine8. Version mismatch.
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Check what's installed:
|
|
dpkg -l | grep aquamarine
|
|
|
|
# If you have libaquamarine9, it should work with newer hyprland
|
|
# If not, install aquamarine from packages:
|
|
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/libaquamarine*.deb
|
|
```
|
|
|
|
### Issue: libstdc++6 version too old
|
|
|
|
**Error:**
|
|
```
|
|
hyprland depends on libstdc++6 (>= 15); however:
|
|
Version of libstdc++6:amd64 on system is 14.2.0-19.
|
|
```
|
|
|
|
**Cause:** System C++ standard library is older than required.
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Update your system (highest priority):
|
|
sudo apt-get update
|
|
sudo apt-get upgrade
|
|
|
|
# Or install g++ 15:
|
|
sudo apt-get install g++-15
|
|
```
|
|
|
|
### Issue: libxkbcommon0 version too old
|
|
|
|
**Error:**
|
|
```
|
|
hyprland depends on libxkbcommon0 (>= 1.12.3); however:
|
|
Version of libxkbcommon0:amd64 on system is 1.7.0-2.
|
|
```
|
|
|
|
**Cause:** System xkbcommon library is older than required.
|
|
|
|
**Solution:**
|
|
```bash
|
|
# Update system packages:
|
|
sudo apt-get update
|
|
sudo apt-get upgrade libxkbcommon0
|
|
|
|
# Or build from source:
|
|
sudo apt-get build-dep libxkbcommon
|
|
```
|
|
|
|
## Installation Workflow (Updated)
|
|
|
|
### Step 1: Install Core Packages
|
|
|
|
```bash
|
|
cd ~/Projects/Jak/Debian-Hyprland
|
|
./install.sh
|
|
# Select YES to use pre-built packages
|
|
# Script will skip plugins and debug symbols automatically
|
|
```
|
|
|
|
**What gets installed:**
|
|
- Core libraries (hyprutils, hyprgraphics, hyprcursor, etc.)
|
|
- Main compositor (hyprland)
|
|
- Essential utilities (hypridle, hyprlock, etc.)
|
|
- Development files (-dev packages)
|
|
|
|
**What is skipped (can install manually later):**
|
|
- Hyprland plugins (9 optional plugins)
|
|
- Debug symbols (-dbgsym packages)
|
|
|
|
### Step 2: Fix Missing Dependencies
|
|
|
|
If you encounter missing dependencies:
|
|
|
|
```bash
|
|
# Install missing system dependencies:
|
|
sudo apt-get install -f -y
|
|
|
|
# This will attempt to resolve any broken dependencies from Debian repos
|
|
```
|
|
|
|
### Step 3: Install Optional Components
|
|
|
|
**Install plugins (if desired):**
|
|
```bash
|
|
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/hyprland-plugin-*.deb
|
|
```
|
|
|
|
**Install debug symbols (if desired):**
|
|
```bash
|
|
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/*-dbgsym*.deb
|
|
```
|
|
|
|
## Dependency Resolution Strategy
|
|
|
|
The updated script uses a staged approach:
|
|
|
|
1. **Install core packages** (libraries and binaries)
|
|
2. **Run `apt-get install -f`** to resolve from Debian repos
|
|
3. **Skip optional components** (plugins, debug)
|
|
4. **Provide manual install commands** for optional packages
|
|
|
|
## System Requirements
|
|
|
|
For successful installation, ensure:
|
|
|
|
| Component | Minimum | Recommended |
|
|
|-----------|---------|------------|
|
|
| libstdc++6 | 14.2.0 | 15.x |
|
|
| libxkbcommon0 | 1.7.0 | 1.12.3+ |
|
|
| Debian Release | Trixie | Trixie or newer |
|
|
|
|
## Upgrading System Libraries
|
|
|
|
If you have dependency version issues:
|
|
|
|
```bash
|
|
# Full system upgrade (safest approach)
|
|
sudo apt-get update
|
|
sudo apt-get upgrade
|
|
|
|
# Or targeted package upgrades
|
|
sudo apt-get install --only-upgrade libstdc++6
|
|
sudo apt-get install --only-upgrade libxkbcommon0
|
|
```
|
|
|
|
## Manual Installation Without Script
|
|
|
|
If the script fails, install packages manually:
|
|
|
|
```bash
|
|
cd /mnt/nas/Projects/Jak/debian-pkg/build/debs
|
|
|
|
# Install only core .deb files (not plugins or debug):
|
|
for deb in *.deb; do
|
|
if [[ "$deb" != *"-dbgsym"* ]] && [[ "$deb" != "hyprland-plugin"* ]]; then
|
|
sudo dpkg -i "$deb"
|
|
fi
|
|
done
|
|
|
|
# Fix dependencies:
|
|
sudo apt-get install -f -y
|
|
```
|
|
|
|
## Known Issues
|
|
|
|
### Issue: Plugins require hyprland to be installed first
|
|
**Status:** Fixed in updated script (plugins skipped)
|
|
**Solution:** Install core packages first, then manually install plugins
|
|
|
|
### Issue: Debug symbols require main package
|
|
**Status:** Fixed in updated script (dbgsym skipped)
|
|
**Solution:** Install main packages first, then manually install -dbgsym
|
|
|
|
### Issue: Some libraries missing from pre-built
|
|
**Status:** Partially fixed with `apt-get install -f`
|
|
**Solution:** Keep system updated, use fallback to source build if needed
|
|
|
|
## Fallback to Source Build
|
|
|
|
If package installation fails completely:
|
|
|
|
```bash
|
|
cd ~/Projects/Jak/Debian-Hyprland
|
|
./install.sh
|
|
# When prompted: Select NO to build from source instead
|
|
# Takes 1-2 hours but builds everything from scratch
|
|
```
|
|
|
|
## Getting Help
|
|
|
|
1. **Check Install-Logs directory:**
|
|
```bash
|
|
cat Install-Logs/01-Hyprland-Install-Scripts-*.log
|
|
```
|
|
|
|
2. **Check package status:**
|
|
```bash
|
|
dpkg -l | grep hyprland
|
|
apt-cache policy hyprland
|
|
```
|
|
|
|
3. **Check system libraries:**
|
|
```bash
|
|
ldd /usr/bin/Hyprland
|
|
dpkg -l | grep libstdc++6
|
|
dpkg -l | grep libxkbcommon0
|
|
```
|
|
|
|
## Summary
|
|
|
|
**Core Changes (2025-12-13):**
|
|
- ✅ Skip plugins by default (reduce dependency issues)
|
|
- ✅ Skip debug symbols by default (faster installation)
|
|
- ✅ Auto-fix missing Debian dependencies with `apt-get install -f`
|
|
- ✅ Provide manual commands for optional packages
|
|
- ✅ Better error handling and logging
|
|
|
|
**Installation Time:**
|
|
- Core packages: 5-10 minutes
|
|
- With plugins: +5 minutes
|
|
- With debug symbols: +10 minutes
|
|
|
|
**Next Steps After Install:**
|
|
```bash
|
|
# Verify installation:
|
|
hyprland --version
|
|
Hyprland --help
|
|
|
|
# Install plugins (optional):
|
|
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/hyprland-plugin-*.deb
|
|
|
|
# Install debug symbols (optional):
|
|
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/*-dbgsym*.deb
|
|
|
|
# Reboot to ensure all changes take effect:
|
|
sudo reboot
|
|
```
|