ircu2/FIX_AARCH64.md

252 lines
4.6 KiB
Markdown

# 🔧 Fix aarch64 - Ghid pentru Oracle Linux ARM
> **Problem**: `config.guess: unable to guess system type` pe aarch64
> **Solution**: 3 opțiuni disponibile
---
## 🚀 Opțiunea 1: AUTOMATĂ (Recomandată)
### Pași:
1. **Pull actualizarea din git:**
```bash
cd ~/underchat-ircd
git pull origin main
```
2. **Verifică că ai scriptul nou:**
```bash
ls -la fix-aarch64.sh install.sh
```
3. **Rulează fix-ul:**
```bash
./fix-aarch64.sh
```
4. **Instalare:**
```bash
./install.sh
```
**Timp**: ~5 minute
**Complexitate**: Ușoară
---
## 🔨 Opțiunea 2: MANUALĂ (Cu Fix Script)
Dacă `fix-aarch64.sh` nu merge din oarecare motiv:
```bash
cd ~/underchat-ircd
# 1. Backup
cp config.guess config.guess.bak
cp config.sub config.sub.bak
# 2. Adaugă suport aarch64 în config.guess
sed -i '/case "$machine" in/a\
\taarch64*|arm64*)\
\t\techo aarch64-unknown-linux-gnu\
\t\texit 0\
\t\t;;' config.guess
# 3. Adaugă suport aarch64 în config.sub
sed -i '/case $cpu in/a\
\taarch64 | arm64)\
\t\tcpu=aarch64\
\t\t;;' config.sub
# 4. Test
./config.guess
# 5. Instalare
./install.sh
```
**Timp**: ~5 minute
**Complexitate**: Medie
---
## ⚡ Opțiunea 3: RAPID (Cu --build Flag)
Cel mai simplu - Script-ul `install.sh` detectează aarch64 automat și adaugă flag-ul:
```bash
cd ~/underchat-ircd
git pull origin main
./install.sh
```
**Ce face automat:**
- ✅ Detectează aarch64 cu `uname -m`
- ✅ Adaugă `--build=aarch64-unknown-linux-gnu`
- ✅ Configurează cu flag-ul corect
- ✅ Compilează și instalează
**Timp**: ~15 minute
**Complexitate**: Ușoară
---
## 📋 Ce S-a Schimbat
### install.sh - Actualizări:
```bash
# Nou: Funcția fix_config_guess() adaugă:
- Verifică dacă config.guess e vechi
- Patch automat pentru aarch64
- Detectare aarch64 cu uname
- Adaugă --build flag la configure
# Rezultat:
./configure --prefix=... --with-maxcon=... --build=aarch64-unknown-linux-gnu
```
### fix-aarch64.sh - Script Nou:
```bash
# Dedicat pentru fixare rapidă
- Backup config.guess și config.sub
- Patch-uri pentru aarch64
- Test config.guess
- Restore din backup dacă ceva merge greșit
```
---
## 🔍 Verificare
### După rularea fixului:
```bash
# 1. Testează config.guess
$ ./config.guess
aarch64-unknown-linux-gnu
# 2. Testează configure cu --help
$ ./configure --help | head -10
Usage: configure [OPTION]... [VAR=VALUE]...
# 3. Rulează instalarea
$ ./install.sh
```
---
## ❌ Dacă Tot Nu Merge
### Debug:
```bash
# Verifică output-ul complet
./config.guess
# Trebui să afișeze: aarch64-unknown-linux-gnu
# Verifică config.guess
head -20 config.guess
grep -i aarch64 config.guess
# Verifică config.sub
grep -i aarch64 config.sub
```
### Restore din backup:
```bash
cp config.guess.bak config.guess
cp config.sub.bak config.sub
```
### Manual fix:
```bash
# Editează direct config.guess
nano config.guess
# Cauta secțiunea case "$machine" in
# Adaugă:
# aarch64*|arm64*)
# echo aarch64-unknown-linux-gnu
# exit 0
# ;;
```
---
## 📝 Fișiere Modificate pe Gitea
```
install.sh ← Adaugă fix_config_guess() + --build flag
fix-aarch64.sh ← Script dedicat pentru fixare rapidă
```
---
## 🎯 Recomandare
**Folosiți Opțiunea 3 (RAPID)**:
```bash
cd ~/underchat-ircd
git pull origin main # Ia versiunea nouă
./install.sh # Script-ul face totul automat
```
**Gata!** ✅ Serverul va fi compilat și configurat corect pentru aarch64.
---
## 🆘 Troubleshooting
### Q: "config.guess still fails"
A: Rulează `./fix-aarch64.sh` explicit
### Q: "Make fails after configure"
A: Problema nu e la aarch64, ci la dependențe - install build-essential:
```bash
sudo apt-get install build-essential libssl-dev
```
### Q: "Permisiune denied la fix-aarch64.sh"
A:
```bash
chmod +x fix-aarch64.sh
./fix-aarch64.sh
```
### Q: "Vrei să revert totul"
A:
```bash
git checkout -- config.guess config.sub
# Sau restore din backup
cp config.guess.bak config.guess
cp config.sub.bak config.sub
```
---
## 📚 Mai Multe Informații
- **INDEX.md** - Overview complet
- **QUICKSTART.md** - Start rapid
- **INSTALL_AUTO.md** - Documentație detaliată
- **admin.sh** - Meniu administrare
---
## ✨ Status
✅ Scriptul `install.sh` detectează aarch64 automat
✅ Script `fix-aarch64.sh` disponibil pentru fixare manuală
✅ Documentație completă în limba română
✅ Testat pe Oracle Linux ARM (aarch64)
**Gata de utilizare!** 🚀
---
**Data**: 13 februarie 2026
**Platformă**: aarch64 (ARM 64-bit)
**OS**: Oracle Linux / Ubuntu ARM
**Status**: ✅ Fixed & Tested