On Mon, Feb 22, 2016 at 9:37 AM Patrick Matthäi <pmatth...@debian.org>
wrote:

> Am 22.02.2016 um 03:09 schrieb Steven Chamberlain:
> > tags 815501 + patch
> > user debian-...@lists.debian.org
> > usertags 815501 + kfreebsd
> > thanks
> >
> > Hi,
> >
> > Andreas Beckmann wrote:
> >> starting with version 6 mlt FTBFS on kfreebsd-i386 and kfreebsd-amd64:
> >>
> https://buildd.debian.org/status/fetch.php?pkg=mlt&arch=kfreebsd-amd64&ver=6.0.0-2&stamp=1455825880
> >>
> >> [...]
> >> cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
> -DARCH_X86_64 -Wall -DPIC   -O2 -pipe -fno-tree-dominator-opts
> -fno-tree-pre -ffast-math    -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -fPIC -pthread -DARCH_X86_64 -Wall -DPIC   -O2 -pipe
> -fno-tree-dominator-opts -fno-tree-pre -ffast-math    -g
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -I../..
> -DARCH_X86_64 -Wall -DPIC   -O2 -pipe -fno-tree-dominator-opts
> -fno-tree-pre -ffast-math    -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -fPIC -pthread -Wdate-time -D_FORTIFY_SOURCE=2  -c -o consumer_cbrts.o
> consumer_cbrts.c
> >> consumer_cbrts.c: In function 'create_socket':
> >> consumer_cbrts.c:583:12: error: variable 'req' has initializer but
> incomplete type
> >>      struct ip_mreqn req = {{0}};
> >>             ^
> >
> > Unfortunately GNU/kFreeBSD uses a netinet/ip.h provided by GNU libc,
> > not the FreeBSD one, so it doesn't have struct ip_mreqn.
> >
> > Until we have that, this feature can be easily disabled with the
> > attached patch, allowing the rest of mlt to build successfully.
> >
>
> Thanks for your explaination. So we know now, that it is not easy
> fixable within the mlt source code.
>
> @Dan:
> Would you merge his patch?
>
> --- a/src/modules/plusgpl/consumer_cbrts.c
> +++ b/src/modules/plusgpl/consumer_cbrts.c
> @@ -37,7 +37,7 @@
>  #endif
>  #include <strings.h>
>  // includes for socket IO
> -#if (_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE) &&
> (_POSIX_TIMERS > 0)
> +#if (_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE) &&
> (_POSIX_TIMERS > 0) && !defined(__FreeBSD_kernel__)
>  #define CBRTS_BSD_SOCKETS  1
>  #include <sys/types.h>
>  #include <sys/socket.h>
>
>
>
I prefer to merge a different patch I shared previously that excludes GNU
kFreeBSD but should still permit FreeBSD. Maybe you overlooked that reply.
Here it is again:

diff --git a/src/modules/plusgpl/consumer_cbrts.c
b/src/modules/plusgpl/consumer_cbrts.c
index 634cb56..a69098c 100644
--- a/src/modules/plusgpl/consumer_cbrts.c
+++ b/src/modules/plusgpl/consumer_cbrts.c
@@ -38,11 +38,14 @@
 #include <strings.h>
 // includes for socket IO
 #if (_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE) &&
(_POSIX_TIMERS > 0)
+#if !(defined(__FreeBSD_kernel__) && defined(__GLIBC__))
 #define CBRTS_BSD_SOCKETS  1
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netdb.h>
 #include <net/if.h>
+#include <netinet/in.h>
+#endif
 #endif
 #include <sys/time.h>
 #include <time.h>

Reply via email to