[tarantool-patches] Re: [PATCH v1] Fix FreeBSD build

Alexander Turenko alexander.turenko at tarantool.org
Wed Jun 5 14:23:47 MSK 2019


CCed Vlad.

On Fri, May 31, 2019 at 02:07:06PM +0300, Alexander V. Tikhonov wrote:
> Fixed swim headers in addition to commits:
> 88892f13a3934c72721e6240bfa5fe174d62d99b

Please, add a commit header too, like
0000000000000000000000000000000000000000 ('commit header here').

> 
> Closes #4050
> ---
> 
> Travis-ci: https://travis-ci.org/tarantool/tarantool/builds/539652447
> Issue: https://github.com/tarantool/tarantool/issues/4050
> 
>  src/lib/swim/swim_proto.h     | 3 ++-
>  src/lib/swim/swim_transport.h | 4 ++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/src/lib/swim/swim_proto.h b/src/lib/swim/swim_proto.h
> index 482d79fb1..5275d4e7e 100644
> --- a/src/lib/swim/swim_proto.h
> +++ b/src/lib/swim/swim_proto.h
> @@ -33,8 +33,9 @@
>  #include "tt_static.h"
>  #include "uuid/tt_uuid.h"
>  #include <arpa/inet.h>
> -#include <netinet/in.h>
>  #include <sys/socket.h>
> +#include <netinet/in.h>
> +#include <netinet/ip.h>
>  #include <stdbool.h>
>  #include "swim_constants.h"

I guess here the problem only in <struct sockaddr_in>, so please check
where it is really defined and leave only needed header.

Also I suggest to mark #include directive in the following way:

#include <foo.h> /* struct foo */

>  
> diff --git a/src/lib/swim/swim_transport.h b/src/lib/swim/swim_transport.h
> index c4e48cdeb..137c73212 100644
> --- a/src/lib/swim/swim_transport.h
> +++ b/src/lib/swim/swim_transport.h
> @@ -32,6 +32,10 @@
>   */
>  #include <netinet/in.h>
>  #include <arpa/inet.h>
> +#include <unistd.h>
> +#include <sys/socket.h>
> +#include <netinet/in.h>
> +#include <netinet/ip.h>

Are we really need all those headers for <struct sockaddr_in>? I would
declare <struct sockaddr> as we do for <struct ifaddrs>, because we
don't need to know a size of the structure (it only used by a pointer).

So, add

```
struct sockaddr;
```

And check where <struct sockaddr_in> is defined on FreeBSD and add only
this specific header.

If there are problems in the corresponding C file, let's fix them in the
C file.

>  
>  struct ifaddrs;
>  
> -- 
> 2.17.1
> 




More information about the Tarantool-patches mailing list