On Dec 23, 2012, at 12:03 AM, Benjamin Drung <bdr...@debian.org> wrote:

> Am Samstag, den 22.12.2012, 13:22 +1000 schrieb Ross Finlayson:
>> 2/ The second 'patch' seems wrong to me.  I don't understand why any
>> system would define "struct ip_mreq_source", but not also define
>> "IP_ADD_SOURCE_MEMBERSHIP" (a constant that makes that structure
>> useful).  I recommend removing the patch.  If anyone feels that it is,
>> in fact, necessary, then they can post a message to this mailing list
>> (as they should have done in the first place!) explaining why they
>> think it's needed.
> 
> This patch is needed for Debian GNU/Hurd. Otherwise it will fail with
> 
> c++ -c -Iinclude -I../UsageEnvironment/include -I. -O2
> -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall
> -DBSD=1 -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector
> --param=ssp-buffer-size=4 -Wformat -Werror=format-security
> GroupsockHelper.cpp
> GroupsockHelper.cpp:447:8: error: redefinition of ‘struct
> ip_mreq_source’

The issue is not the fact that Debian GNU/Hurd defines "struct ip_mreq_source". 
 That's perfectly understandable; lots of systems do that.  The problem is that 
this piece of code (where we give our own definition of "struct 
ip_mreq_source") is being reached only because the constant 
"IP_ADD_SOURCE_MEMBERSHIP" is *not* defined.  This is a mistake.  
"IP_ADD_SOURCE_MEMBERSHIP" *has to be* defined somewhere, otherwise "struct 
ip_mreq_source" has no purpose.

So the real solution here - rather than this bogus patch - is to find out where 
(in this system) IP_ADD_SOURCE_MEMBERSHIP is defined, and to add a patch, if 
necessary, that makes sure that the appropriate header file is #include'd.

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to