Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Mar 2002 17:17:21 -0500
From:      Mike Barcroft <mike@FreeBSD.org>
To:        "David W. Chapman Jr." <dwcjr@inethouston.net>
Cc:        Robert Watson <rwatson@FreeBSD.org>, Murray Stokely <murray@FreeBSD.org>, developers@FreeBSD.org, current@FreeBSD.org, re@FreeBSD.org, portmgr@FreeBSD.org
Subject:   Re: HEADS UP: Be nice to -CURRENT ( "1 week Feature Slush" )
Message-ID:  <20020308171721.Q81803@espresso.q9media.com>
In-Reply-To: <20020308161716.GA65905@leviathan.inethouston.net>; from dwcjr@inethouston.net on Fri, Mar 08, 2002 at 10:17:16AM -0600
References:  <20020308145953.GA62875@leviathan.inethouston.net> <Pine.NEB.3.96L.1020308105837.71766F-100000@fledge.watson.org> <20020308161716.GA65905@leviathan.inethouston.net>

next in thread | previous in thread | raw e-mail | index | archive | help
[ Could we CC a few more lists?  I'm not sure everyone that uses
FreeBSD has read this yet. :) ]

David W. Chapman Jr. <dwcjr@inethouston.net> writes:
> Its not related to libpng, I believe that has been fixed, but I 
> cannot tell for sure because kde cannot be compiled under -current.  
> I'm not the only one that is experiencing it either, here is what I 
> was told by Alan Eldridge <alane@geeksrus.net>
> 
> On Tue, Mar 05, 2002 at 05:26:27PM -0600, David W. Chapman Jr. wrote:
> >When I try to build kdelibs2 I get the following under recent
> >-current builds
> >
> >,.deps/kextsock.pp -c kextsock.cpp  -fPIC -DPIC -o .libs/kextsock.o
> >kextsock.cpp: In method `struct kde_addrinfo *
> >KExtendedSocketLookup::results()'
> >:
> >kextsock.cpp:294: implicit declaration of function `int __htons(...)'
> >kextsock.cpp:353: implicit declaration of function `int __htonl(...)'

Hmm.  This should be non-fatal in any event, but which header does it
include to get it's htons() and htonl() prototypes?  <netinet/in.h>,
<arpa/inet.h>, or <sys/param.h>?

> Yes. Recent changes to netinet/in.h have made it require the inclusion
> of arpa/inet.h. As well, arpa/inet.h must include netinet/in.h. IOW, 
> each
> of these files must #include the other in order to work correctly.

This is almost completely bogus.  I recently saw a PR of similar
bogusness.

> As you  might guess, this is a less than desirable situation. A 
> #includes
> B and B #includes A is a very bad arrangement. However, unless both 
> files
> are overhauled, that is what will have to happen.

Hello?  I've been overhauling <arpa/inet.h> (and <netinet/in.h>) for
over six months.  The new kernel endian functions complicated things
much more.

> In the meantime, you need to find every occurence of either of those
> files being included, and make sure the other is included as
> well. netinet/in.h needs to come first.

This is untrue.  <arpa/inet.h> can appear before <netinet/in.h> or
vice versa (remember to include <sys/types.h> before <netinet/in.h>,
since <netinet/in.h> isn't a POSIX-2001 header yet).

Best regards,
Mike Barcroft

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020308171721.Q81803>