Параграф 1: Ошибки сборки (SELinux, нехватка пакетов, ресурсов и тд)
Cписок частых ошибок:
ccache
error: Failed to create directory /home/user/.ccache/tmp: Read -only file system
Фикс
- Создаём папку по пути /mnt/ccache командой:
sudo mkdir /mnt/ccache
- Монтируем cache:
sudo mount --bind /home/username/.cache /mnt/ccache
WARNING
Вместо "username" вписываете своего юзера! И не ошибитесь в пути, у вас он может быть слегка другим.
- После монтирования прописываем команду для сжатия нашего кэша (это опционально, если вы хотите впихнуть больше в мелкий объём как я, то пишем):
ccache -o compression=true
- Делаем стандартный экспорт и т.д.:
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
export CCACHE_DIR=/mnt/ccache
- Устанавливаем размер нашего кэша:
ccache -M 15G -F 0
TIP
15G - Размер кэша в ГБ
Такое решение работает до первой перезагрузки.
Для повторного исправления (после каждого ребута), просто прописываете команду монтирования
sudo mount --bind /home/username/.cache /mnt/ccache
- Либо добавляем наш ccache в fstab:
sudo nano /etc/fstab
И добавляем строку:
/home/username/ccache /mnt/ccache none defaults,bind,users,noauto 0 0
- После чего редактируем файл профиля:
nano ~/.profile
Добавив строку:
mount /mnt/ccache
libncurses5
error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Фикс:
- Ubuntu
sudo apt-get install libncurses5
- Arch
yay ncurses5-compat-libs
Metalava
Симптомы Сборка останавливается с ошибкой об нехватке ОЗУ на этапе сборки Metalava, либо надолго зависает
Android 10 (возможно устарело)
- Заходим в папку build/soong:
cd build/soong
Открываем на Lineage OS Gerrit нужный нам коммит
Нажимаем кнопку "
DOWNLOAD
"Напротив варианта "
Cherry Pick
" нажимаем кнопку копированияКопируем в терминал и нажимаем Enter
Возвращаемся в корень исходников:
cd ../..
- Выполняем все подготовительные команды для сборки, но не запускаем
- Заранее и отдельно собираем по одному компоненту, который требует много ОЗУ:
mka api-stubs-docs && mka hiddenapi-lists-docs && mka system-api-stubs-docs && mka test-api-stubs-docs
- Запускаем сборку прошивки
Android 11-13
Для него все тоже самое, отличие только в коммите и какие компоненты собираем заранее.
mka api-stubs-docs && mka module-lib-api-stubs-docs && mka system-api-stubs-docs && mka test-api-stubs-docs
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0
Фикс:
Убрать кириллические буквы в пути. Не должно быть по типу /home/coolgirl/линейдж/...