Compartilho com os demais colegas como consegui instalar a extensão DS no Ubuntu 20.04, onde tenho várias versões do PHP instaladas.
O exemplo a seguir usa a versão 7.4 do PHP, acredito que na versão 8.0 não precise passar o número da versão e se essa for a única versão que você tem instalado não vai passar trabalho, mas pra quem travou nessa parte segue abaixo:
# Instale as ferramentas necessárias para construir a extensão
sudo apt-get install git build-essential php7.4-dev
# Clone o respositório da extensão:
git clone https://github.com/php-ds/extension "php-ds"
# Entre no diretório que acabou de clonar:
cd php-ds
# Utilize o phpizeX.X (versão do PHP no qual a extensão será instalada) para preparar a extensão para ser compilada:
phpize7.4
# Passe as configurações do php-config da versão desejada do PHP:
./configure --with-php-config=/usr/bin/php-config7.4
# Compile a extensão
make
make install
# Limpe os arquivos que não são mais necessários
make clean
phpize7.4 --clean
Agora o pulo do gato:
# Já entra em modo root:
sudo su -
# Vai na pasta do php da versão desejada (no exemplo foi usada a 7.4)
cd /etc/php/7.4/cli/conf.d
# Crie o arquivo que vai carregar a extensão:
touch 30-ds.ini
# Edite o arquivo
vim 30-ds.ini
# Aperte i e CTRL+SHIFT+V para colar as 3 linhas a seguir:
; configuration for php ds module
; priority=30
extension=/usr/lib/php/20190902/ds.so
# Agora aperte ESC, : (dois pontos), x e pressione ENTER para salvar e sair (ou CTRL+Z seguido de Z...ou :wq)
# Fazemos isso isso por que a extensão DS requer a extensão JSON, que por padrão é carregada após a DS, então a DS não encontra o requerimento quando é carregada e dá problema, então colocamos a DS no final da fila, quando a JSON e todas as outras extensões já foram carregadas.
Se alguém travou nesse cenário inusitado como eu, espero que esse mini tutorial ajude, estou sempre aberto a correções caso tenho escrito alguma instrução errada não hesite em falar. = )