/usr/include/netinet/tcp.h:89:11: error: duplicate member ‘th_off’

1. /usr/include/netinet/tcp.h:89:11: error: duplicate member ‘th_off’

Jackson Fernandes Aragão Terceiro
jacksonterceiro

(usa XUbuntu)

Enviado em 19/06/2017 - 09:50h

Bom pessoal, estou com esse problema no meu ambiente e não faço a minima ideia do que seja. Ja procurei na net mas não achei nada. Segue os logs:
09:11:41 **** Incremental Build of configuration Debug for project lib_conexao ****
make all
Building file: ../conexao.c
Invoking: GCC C Compiler
gcc -m32 -O0 -g3 -Wall -fPIC -c -fmessage-length=0 -MMD -MP -MF"conexao.d" -MT"conexao.o" -o"conexao.o" "../conexao.c"
In file included from ../conexao.h:9:0,
from ../conexao.c:2:
/usr/include/netinet/tcp.h:89:11: error: duplicate member ‘th_off’
u_int8_t th_off:4; /* data offset */
^
/usr/include/netinet/tcp.h:90:11: error: duplicate member ‘th_x2’
u_int8_t th_x2:4; /* (unused) */
^
subdir.mk:18: recipe for target 'conexao.o' failed
make: *** [conexao.o] Error 1

09:11:42 Build Finished (took 127ms)


Estou usando o eclipse para compilar e rodar. Uso o xubuntu 16.04



  


2. Re: /usr/include/netinet/tcp.h:89:11: error: duplicate member ‘th_off’

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 19/06/2017 - 09:57h

O compilador apontou erro por membro duplicado, parece ser problema de falta de guardas. Você poderia postar os arquivos conexão.h e conexão.c?


3. Re: /usr/include/netinet/tcp.h:89:11: error: duplicate member ‘th_off’

Paulo
paulo1205

(usa Ubuntu)

Enviado em 19/06/2017 - 10:14h

O bloco que define esses membros tem a seguinte cara (linhas 84 a 91 do arquivo tcp.h):

# if __BYTE_ORDER == __LITTLE_ENDIAN
u_int8_t th_x2:4; /* (unused) */
u_int8_t th_off:4; /* data offset */
# endif
# if __BYTE_ORDER == __BIG_ENDIAN
u_int8_t th_off:4; /* data offset */
u_int8_t th_x2:4; /* (unused) */
# endif


Parece, portanto, que as macros/constantes __BYTE_ORDER, __LITTLE_ENDIAN e __BIG_ENDIAN estão todas definidas com o mesmo valor, o que faz com que os dois blocos sejam compilados ao mesmo tempo (o que não deveria ocorrer).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts