[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#815501: mlt: FTBFS on kfreebsd: error: variable 'req' has initializer but incomplete type



tags 815501 + patch
user debian-bsd@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,
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org
Subject: temporarily disable CBRTS_BSD_SOCKETS on GNU/kFreeBSD
From: Steven Chamberlain <steven@pyro.eu.org>
Date: Mon, 22 Feb 2016 02:07:47 +0000
Forwarded: not-needed

On GNU/kFreeBSD (__FreeBSD_kernel__), disable CBRTS_BSD_SOCKETS
for now, because struct ip_mreqn is not available in netinet/ip.h

--- 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>

Attachment: signature.asc
Description: Digital signature


Reply to: