Título: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Thelord en 1 Octubre 2010, 18:28 pm Hola, buen día a todos.
Intento compilar Ettercap 0.7.3 pero al final me muestra el siguiente error: Código: cc1: warnings being treated as errors ^Tifa^ comenta que _warn_unused_return solicita que las 2 funciones devuelvan algún valor, pero son funciones void. Aquí esta el post donde hace mención: Su error es referente a 2 funciones declaradas con el atributo _warn_unused_return_ que aparentemente no estan devolviendo nada para ser funciones, y por ende el atributo esta lanzando un aviso de que no estan estas 2 funciones devolviendo nada..... como este atributo deberia tratarse solo como warnings y continuar con la compilacion pero esta simpatica linea : cc1: warnings being treated as errors Ya especifica que si hay warnings.. pues tratalos como error, y tratarlos como error es No compilar. Abre el archivo linux.c especificamente dentro de estas 2 funciones : disable_ip_forward() restore_ip_forward() Que estan cerca de la linea 44 y 71 como te indica ahi... Puedes postear el codigo de ambas? Te recomiendo que los postees en el subforo de programacion de C/C++ ya que aqui podran ayudarte mas que en este subforo de Linux. Ya que tu problema no es de configuracion o Linux en si, sino de una aplicacion que no compila porque su apreciado codigo tiene atributos incluidos (Fuera mas facil quitarlos todos de los archivos cabeceras y que el compilador No chequee nada y compile, pero esto es falta de etica para un programador ;D ) En fin como te dije abre las 2 funciones anteriores, copia el codigo de estas en el foro de C/C++ y expon tu error que no puedes compilar por x atributos declarados, y que no quieres quitar los atributos (Que es probable que te den esa solucion que es la mas facil) sino que tu quieres que estas funciones obligatoriamente retornen un valor ;) Esto en el archivo: ec_linux.c , les marco la línea 44 ;) Código: void disable_ip_forward(void) Al parecer ^Tifa^ tiene muy claro el problema, el detalle es que no se como solucionarlo y siento que ya le invertí mucho tiempo a la instalación de Ettercap (mas de 5 horas) que no quisiera ver perdido ese tiempo ;D Ayuda, please. Gracias y un saludo. Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Eternal Idol en 2 Octubre 2010, 11:48 am Yo imagino que se podra compilar deshabilitando ESE warning o TODOS los warnings, sino no entiendo que ese codigo este disponible. Asi que en realidad no deberias tocar el codigo sino la forma de generarlo (makefile o lo que sea).
Si queres cambiar el codigo declara una variable de tipo int al principio de ambas funciones y asignale el resultado de la funcion fscanf. Ej. para la primera: Código
PD. Encima es C ... Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Thelord en 2 Octubre 2010, 23:59 pm Gracias.
Listo, se salta ese error. Ahora lo que marca es lo siguiente: Código: cc1: warnings being treated as errors Al parecer es el mismo detalle, así que intente hacer lo mismo en el archivo correspondiente, pero me resulto el siguiente error(Solo cambie la línea 186): Código: cc1: warnings being treated as errors Parece no ser la misma solución, o tal vez me falto algo. Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Eternal Idol en 3 Octubre 2010, 00:06 am El tipo de retorno de fgets no es el mismo que el de fscanf (int):
http://www.cplusplus.com/reference/clibrary/cstdio/fgets/ Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Thelord en 4 Octubre 2010, 21:43 pm Hey gracias.
Tomando en cuenta lo que me comentas, me eh desecho de algunos warnings, en el caso de _warn_unused_return_ . Pero ahora tengo un Warning distinto: Código: cc1: warnings being treated as errors Código
No se si es necesario colocar toda la función, pero en estas líneas es donde me aparece el Warning. Gracias y un saludo. Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Eternal Idol en 6 Octubre 2010, 19:15 pm ¿No es hora de averiguar como generar el ejecutable sin cambiar el codigo?
Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Thelord en 9 Octubre 2010, 03:46 am ¿No es hora de averiguar como generar el ejecutable sin cambiar el codigo? Jeje, tienes razón. Veré de que forma solucionarlo, cuando lo haga les aviso. Gracias y un saludo. Título: Re: _warn_unused_return_ pide retorno de valor en funcion void Publicado por: Foxy Rider en 9 Octubre 2010, 04:21 am Podrías sacar el flag -Werror de la compilación para que los warnings no se consideren errores ...
Saludos P.S : Mismo tema tratado aquí (https://foro.elhacker.net/hacking_linuxunix/ettercap_hibrido_al_borde_de_la_locura-t306693.0.html) |