Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro no swoole

Boa tarde, pessoal! Eu fiz o comando docker-compose up --build na pasta alura-ms, porém surgiram os seguintes erros no final:

11.18 checking for pthread_mutex_consistent in -lpthread... yes
11.23 checking for pcre_compile in -lpcre... no
11.23 checking whether to enable oracle build flags... no
11.23 checking for sqlite 3 support for PDO... no
11.28 checking for gzgets in -lz... yes
11.28 checking for libbrotlienc... no
11.29 configure: error: Package requirements (libbrotlienc) were not met:
11.29
11.29 No package 'libbrotlienc' found
11.29
11.29 Consider adjusting the PKG_CONFIG_PATH environment variable if you
11.29 installed software in a non-standard prefix.
11.29
11.29 Alternatively, you may set the environment variables BROTLIENC_CFLAGS
11.29 and BROTLIENC_LIBS to avoid the need to call pkg-config.
11.29 See the pkg-config man page for more details.
11.38 ERROR: `/tmp/pear/temp/swoole/configure --with-php-config=/usr/local/bin/php-config --enable-sockets=no --enable-openssl=no --enable-mysqlnd=no --enable-swoole-curl=no --enable-cares=no --enable-brotli=yes --enable-swoole-pgsql=no --with-swoole-odbc=no --with-swoole-oracle=no --enable-swoole-sqlite=no' failed
------
failed to solve: process "/bin/sh -c pecl install swoole" did not complete successfully: exit code: 1

Sinceramente, não sei como resolver e não encontrei nada no Google pra ajudar. Alguém já teve esse mesmo problema?

Obrigado.

7 respostas

Oi, Leandro!

Parece que o problema está relacionado à falta da biblioteca libbrotlienc necessária para a instalação do Swoole via PECL. Vamos tentar resolver isso, aqui estão alguns passos que você pode seguir:

  1. Instalar a biblioteca libbrotlienc: Dependendo do seu sistema operacional, você pode instalar essa biblioteca usando o gerenciador de pacotes apropriado. Por exemplo, se você estiver usando uma distribuição baseada em Debian (como Ubuntu), você pode tentar o seguinte comando:

    sudo apt-get update
    sudo apt-get install libbrotli-dev
    

    Se você estiver usando uma distribuição baseada em Red Hat (como CentOS), você pode tentar:

    sudo yum install brotli-devel
    
  2. Verificar se a biblioteca foi instalada corretamente: Após a instalação, você pode verificar se a biblioteca foi instalada corretamente usando o comando pkg-config:

    pkg-config --libs libbrotlienc
    

    Se o comando retornar algo como -lbrotlienc, significa que a biblioteca foi instalada corretamente.

  3. Reexecutar o comando docker-compose up --build: Após instalar a biblioteca, tente reexecutar o comando para construir e subir os containers Docker:

    docker-compose up --build
    

Se esses passos não resolverem o problema, outra abordagem seria ajustar as variáveis de ambiente BROTLIENC_CFLAGS e BROTLIENC_LIBS conforme sugerido na mensagem de erro. No entanto, geralmente a instalação da biblioteca resolve a maioria dos problemas.

Espero ter ajudado e bons estudos!

Fala, Leandro. Realmente o repositório estava com esse problema. Eu não travei a versão de uma das dependências, aí a versão mais recente precisa de algumas configurações a mais.

Adicionei essas configurações e travei a versão. Pode apagar a pasta, rodar git clone --recursive https://github.com/CViniciusSDias/alura-ms.git de novo e tentar subir mais uma vez?

Fico no aguardo pra saber se deu tudo certo. Se funcionar, não esquece de marcar aqui como resolvido, beleza?

Abraços!

Buenas, Vini e Lucas! Aparentemente, esse erro foi resolvido, porém surgiu outro:

failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory

O comando completo resultou nisso:

PS D:\Documents\alura-ms> docker compose up --build
time="2024-07-11T12:32:25-03:00" level=warning msg="D:\\Documents\\alura-ms\\docker-compose.yml: `version` is obsolete"
[+] Running 50/6
 ✔ postgre-academico Pulled                                                                                                                           75.7s
 ✔ front Pulled                                                                                                                                      114.2s
 ✔ api-gateway Pulled                                                                                                                                 23.8s
 ✔ web-mkt Pulled                                                                                                                                    114.3s
 ✔ rabbitmq Pulled                                                                                                                                    58.2s
 ✔ mongo-mkt Pulled                                                                                                                                   75.1s
[+] Building 1.5s (3/3) FINISHED                                                                                                       docker:desktop-linux
 => [consumer-academico internal] load build definition from Dockerfile                                                                                0.2s
 => => transferring dockerfile: 2B                                                                                                                     0.0s
 => [web-academico internal] load build definition from Dockerfile                                                                                     0.1s
 => => transferring dockerfile: 2B                                                                                                                     0.0s
 => [web-financeiro internal] load build definition from Dockerfile                                                                                    0.1s
 => => transferring dockerfile: 2B                                                                                                                     0.0s
failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory

Agradeço a atenção novamente!

Estranho... Vi que você está no Windows. Vou tentar no Windows aqui também e ver se acontece o erro.

Chegou a tentar no WSL aí?

Aqui o clone não funciona no Windows. Eu não tenho experiência com o terminal do Windows, então vou pesquisar o motivo, mas ele não consegue clonar o repositório com ssh, aparentemente.

Provavelmente foi o seu problema também. Antes de rodar o docker compose up, deve ter dado erro no clone e você não percebeu.

solução!

Pronto, Leandro. Pra eu não precisar aprender a lidar com chaves SSH no Windows, subi o repositório de novo usando HTTP nos submódulos. Só, mais uma vez, apagar e clonar de novo. Aí tudo deve estar ok.

Fico no aguardo. Abraços!

Ótimo, Vini! Agora está rodando perfeitamente! Só estou estranhando não conseguir entrar no site da Alura, dando erro 504, enquanto o Docker está rodando... Enfim, obrigado!