[Live-devel] Compilation failure on cygwin (live-2007.01.11.tar.gz)

Shishir Birmiwal shishir at birmiwal.net
Mon Jan 15 21:54:22 PST 2007


Ross,

I would agree to you on that. I see that in /usr/include/, I see that
IP_ADD_SOURCE_MEMBERSHIP is defined in cygwin/sockets.h and
cygwin/sockets.h is included from sys/sockets.h

cygwin/sockets.h does NOT have ip_mreq_source structure defined.

Additionally, I see w32api/ws2tcpip.h which has both
IP_ADD_SOURCE_MEMBERSHIP and ip_mreq_source structures defined.

Maybe this is something that the cygwin developers need to look into. :)

Regards
Shishir


On 1/12/07, Ross Finlayson <finlayson at live555.com> wrote:
> This appears to be a problem with the header files distributed
> with/for Cygwin.  It does not make sense for
> "IP_ADD_SOURCE_MEMBERSHIP" to be defined in the header files without
> "struct ip_mreq_source" also being defined in the header files -
> because that struct is intended to be used with the
> IP_ADD_SOURCE_MEMBERSHIP ioctl().
>
> For every other environment that I'm aware of, either
> "IP_ADD_SOURCE_MEMBERSHIP" and "struct ip_mreq_source" are both
> defined in the header files, or neither of them are.
>
> Unfortunately, it's not possible to use the C/C++ preprocessor to do
> something like
>        #ifndef struct ip_mreq_source
> so I can't modify the distributed code so that it will compile for
> both your Cygwin environment, and for every other environment out
> there (unless there's a Cygwin-specific compile-time #define that I
> can check?)
>
> The right solution is to fix the Cygwin distribution so that its
> header files define both "IP_ADD_SOURCE_MEMBERSHIP" and "struct
> ip_mreq_source" (or neither).
> --
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>


More information about the live-devel mailing list