The cPanel ELevate process has been started, and upon reaching stage four, it fails and displays an error about dnf stating the following:
Traceback (most recent call last):
File "/usr/lib64/python3.6/site-packages/libdnf/error.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
File "<frozen importlib._bootstrap>", line 571, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: libbrotlidec.so.1: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/dnf", line 57, in <module>
from dnf.cli import main
File "/usr/lib/python3.6/site-packages/dnf/__init__.py", line 30, in <module>
import dnf.base
File "/usr/lib/python3.6/site-packages/dnf/base.py", line 29, in <module>
import libdnf.transaction
File "/usr/lib64/python3.6/site-packages/libdnf/__init__.py", line 8, in <module>
from . import error
File "/usr/lib64/python3.6/site-packages/libdnf/error.py", line 17, in <module>
_error = swig_import_helper()
File "/usr/lib64/python3.6/site-packages/libdnf/error.py", line 16, in swig_import_helper
return importlib.import_module('_error')
File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_error'
The error can be caused when the dnf process inadvertently ends, such as when rebooting your server, which you should never do during the elevation process. You can confirm brotli has not been installed by checking for the missing file:
stat /lib64/libbrotlidec.so.1.0.6
stat: cannot statx '/lib64/libbrotlidec.so.1.0.6': No such file or directory
If this is the case, you can manually install the brotli package by running:
wget http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/brotli-1.0.6-3.el8.x86_64.rpm
rpm -Uvh --force --nodeps brotli-1.0.6-3.el8.x86_64.rpm
After the package has been installed you can continue the cPanel ELevate process by running:
/scripts/elevate-cpanel --continue