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:

[email protected]:~/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
[email protected]:~/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:

[email protected]:~/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
[email protected]:~/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.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts