mailing list of musl libc
 help / color / mirror / code / Atom feed
* linux/if_ether.h: struct ethhdr previously defined in netinet/if_ether.h
@ 2012-06-08 19:04 orc
  2012-06-08 22:19 ` Rich Felker
  0 siblings, 1 reply; 3+ messages in thread
From: orc @ 2012-06-08 19:04 UTC (permalink / raw)
  To: musl

Getting this when compiling tinc-1.0.18:

In file included from /usr/include/linux/if_tun.h:20,
                 from device.c:24:
/usr/include/linux/if_ether.h:126: error: redefinition of 'struct ethhdr'
make[2]: *** [device.o] Error 1

Commenting struct ethhdr definition in netinet/if_ether.h solves the
problem.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux/if_ether.h: struct ethhdr previously defined in netinet/if_ether.h
  2012-06-08 19:04 linux/if_ether.h: struct ethhdr previously defined in netinet/if_ether.h orc
@ 2012-06-08 22:19 ` Rich Felker
  2012-06-09  6:51   ` orc
  0 siblings, 1 reply; 3+ messages in thread
From: Rich Felker @ 2012-06-08 22:19 UTC (permalink / raw)
  To: musl

On Sat, Jun 09, 2012 at 03:04:49AM +0800, orc wrote:
> Getting this when compiling tinc-1.0.18:
> 
> In file included from /usr/include/linux/if_tun.h:20,
>                  from device.c:24:
> /usr/include/linux/if_ether.h:126: error: redefinition of 'struct ethhdr'
> make[2]: *** [device.o] Error 1
> 
> Commenting struct ethhdr definition in netinet/if_ether.h solves the
> problem.

I'm not sure how this stuff is intended to work with other libcs, but
generally it's an error to be including both kernel headers and
userspace headers that involve the same stuff in the same source
file...

And it's probably bad design to be including linux/*.h at all...

Rich


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: linux/if_ether.h: struct ethhdr previously defined in netinet/if_ether.h
  2012-06-08 22:19 ` Rich Felker
@ 2012-06-09  6:51   ` orc
  0 siblings, 0 replies; 3+ messages in thread
From: orc @ 2012-06-09  6:51 UTC (permalink / raw)
  To: musl

On Fri, 8 Jun 2012 18:19:29 -0400
Rich Felker <dalias@aerifal.cx> wrote:

> On Sat, Jun 09, 2012 at 03:04:49AM +0800, orc wrote:
> > Getting this when compiling tinc-1.0.18:
> > 
> > In file included from /usr/include/linux/if_tun.h:20,
> >                  from device.c:24:
> > /usr/include/linux/if_ether.h:126: error: redefinition of 'struct
> > ethhdr' make[2]: *** [device.o] Error 1
> > 
> > Commenting struct ethhdr definition in netinet/if_ether.h solves the
> > problem.
> 
> I'm not sure how this stuff is intended to work with other libcs, but
> generally it's an error to be including both kernel headers and
> userspace headers that involve the same stuff in the same source
> file...
> 
> And it's probably bad design to be including linux/*.h at all...
> 
> Rich

Yes, but it includes other header missing in userspace
(linux/if_tun.h) for specific feature, which includes linux/if_ether.h
and fails due to already included netinet/if_ether.h. glibc2's
if_ether.h just sucks definitions from linux/if_ether.h


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-09  6:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-08 19:04 linux/if_ether.h: struct ethhdr previously defined in netinet/if_ether.h orc
2012-06-08 22:19 ` Rich Felker
2012-06-09  6:51   ` orc

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).