Erro ao compilar Squid

1. Erro ao compilar Squid

Wellington Rodrigues
wellrodrigues

(usa Debian)

Enviado em 23/09/2020 - 14:54h

Galera, estou com um problema na instalação do squid para bloqueios de https, quando vou dar o comando "MAKE" me retorna o seguinte erro:

root@SRVLINUX:~/squid-3.5.22# make
Making all in compat
make[1]: Entering directory '/root/squid-3.5.22/compat'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/squid-3.5.22/compat'
Making all in lib
make[1]: Entering directory '/root/squid-3.5.22/lib'
Making all in snmplib
make[2]: Entering directory '/root/squid-3.5.22/lib/snmplib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/squid-3.5.22/lib/snmplib'
Making all in rfcnb
make[2]: Entering directory '/root/squid-3.5.22/lib/rfcnb'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/squid-3.5.22/lib/rfcnb'
Making all in smblib
make[2]: Entering directory '/root/squid-3.5.22/lib/smblib'
depbase=`echo smblib-util.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../../include -isystem /usr/include/mit-krb5 -I../../lib -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT -Wall -g -O2 -MT smblib-util.lo -MD -MP -MF $depbase.Tpo -c -o smblib-util.lo smblib-util.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../../include -isystem /usr/include/mit-krb5 -I../../lib -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT -Wall -g -O2 -MT smblib-util.lo -MD -MP -MF .deps/smblib-util.Tpo -c smblib-util.c -fPIC -DPIC -o .libs/smblib-util.o
smblib-util.c: In function ‘SMB_Negotiate’:
smblib-util.c:400:9: error: ‘strncpy’ output may be truncated copying 79 bytes from a string of length 79 [-Werror=stringop-truncation]
strncpy(p, Con_Handle -> Svr_PDom, sizeof(Con_Handle -> Svr_PDom) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c:423:9: error: ‘strncpy’ output may be truncated copying 79 bytes from a string of length 79 [-Werror=stringop-truncation]
strncpy(p, Con_Handle -> Svr_PDom, sizeof(Con_Handle -> Svr_PDom) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c: In function ‘SMB_TreeConnect’:
smblib-util.c:537:5: error: ‘strncpy’ specified bound 129 equals destination size [-Werror=stringop-truncation]
strncpy(tree -> path, path, sizeof(tree -> path));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c:538:5: error: ‘strncpy’ specified bound 20 equals destination size [-Werror=stringop-truncation]
strncpy(tree -> device_type, device, sizeof(tree -> device_type));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:776: smblib-util.lo] Error 1
make[2]: Leaving directory '/root/squid-3.5.22/lib/smblib'
make[1]: *** [Makefile:1043: all-recursive] Error 1
make[1]: Leaving directory '/root/squid-3.5.22/lib'
make: *** [Makefile:581: all-recursive] Error 1
root@SRVLINUX:~/squid-3.5.22#


Alguém sabe o que esta acontecendo?

Obrigado.


  


2. Re: Erro ao compilar Squid

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 23/09/2020 - 15:13h

Parece q a opção de checagem gerou alerta na função strncpy e como está configurado p tratar alerta como erro (all warnings being treated as errors), parou a compilação. Acho q a soluçao é editar o Makefile.
Aqui um texto interessante sobre isso

https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/


3. Re: Erro ao compilar Squid

Paulo Bonfanti
pbonfanti

(usa Debian)

Enviado em 23/09/2020 - 15:35h

wellrodrigues escreveu:

Galera, estou com um problema na instalação do squid para bloqueios de https, quando vou dar o comando "MAKE" me retorna o seguinte erro:

root@SRVLINUX:~/squid-3.5.22# make
Making all in compat
make[1]: Entering directory '/root/squid-3.5.22/compat'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/squid-3.5.22/compat'
Making all in lib
make[1]: Entering directory '/root/squid-3.5.22/lib'
Making all in snmplib
make[2]: Entering directory '/root/squid-3.5.22/lib/snmplib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/squid-3.5.22/lib/snmplib'
Making all in rfcnb
make[2]: Entering directory '/root/squid-3.5.22/lib/rfcnb'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/squid-3.5.22/lib/rfcnb'
Making all in smblib
make[2]: Entering directory '/root/squid-3.5.22/lib/smblib'
depbase=`echo smblib-util.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../../include -isystem /usr/include/mit-krb5 -I../../lib -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT -Wall -g -O2 -MT smblib-util.lo -MD -MP -MF $depbase.Tpo -c -o smblib-util.lo smblib-util.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../../include -isystem /usr/include/mit-krb5 -I../../lib -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT -Wall -g -O2 -MT smblib-util.lo -MD -MP -MF .deps/smblib-util.Tpo -c smblib-util.c -fPIC -DPIC -o .libs/smblib-util.o
smblib-util.c: In function ‘SMB_Negotiate’:
smblib-util.c:400:9: error: ‘strncpy’ output may be truncated copying 79 bytes from a string of length 79 [-Werror=stringop-truncation]
strncpy(p, Con_Handle -> Svr_PDom, sizeof(Con_Handle -> Svr_PDom) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c:423:9: error: ‘strncpy’ output may be truncated copying 79 bytes from a string of length 79 [-Werror=stringop-truncation]
strncpy(p, Con_Handle -> Svr_PDom, sizeof(Con_Handle -> Svr_PDom) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c: In function ‘SMB_TreeConnect’:
smblib-util.c:537:5: error: ‘strncpy’ specified bound 129 equals destination size [-Werror=stringop-truncation]
strncpy(tree -> path, path, sizeof(tree -> path));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smblib-util.c:538:5: error: ‘strncpy’ specified bound 20 equals destination size [-Werror=stringop-truncation]
strncpy(tree -> device_type, device, sizeof(tree -> device_type));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:776: smblib-util.lo] Error 1
make[2]: Leaving directory '/root/squid-3.5.22/lib/smblib'
make[1]: *** [Makefile:1043: all-recursive] Error 1
make[1]: Leaving directory '/root/squid-3.5.22/lib'
make: *** [Makefile:581: all-recursive] Error 1
root@SRVLINUX:~/squid-3.5.22#


Alguém sabe o que esta acontecendo?

Obrigado.



Você está recebendo uma aviso "-Werror=stringop-truncation" sobre um mau uso de função no código da smblib, como o seu make está configurado para tratar avisos como erro, ele se recusa a compilar.
É possível configurar o make para ignorar os warnings e talvez isso faça o código compilar, mas não sei se a smblib vai funcionar perfeitamente.


Acredito que se mudar o parametro do compilador de "-Werror=stringop-truncation" para apenas "-w" o seu código deve compilar, isso de acordo com a documentação do GCC.
Deve ter uma linha do seu makefile onde ajusta exatamente isso, "Werror" é o que vc procura.


4. root@SRVLINUX:~/squid-3.5.22# make

Alex Alves
alexalves100

(usa Ubuntu)

Enviado em 05/11/2020 - 12:32h

Mude para a versão mais recente 4.13, pois houve correção de muitos erros dessa versão que vc quer instalar, eu instalei a versão 4.13 e ocorreu tudo certo!
De uma olhada neste link : https://techexpert.tips/squid/install-squid-with-https-ssl-decryption-ubuntu-linux/
me ajudou e muito, aqui está funcionando bloquei de https pelo squid 4.13 transparente, com relatório de log, controle de mac de boa!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts