Am Montag, den 24.12.2012, 10:36 +1000 schrieb Ross Finlayson: > > 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.
On my system (Ubuntu 12.10, amd64), IP_ADD_SOURCE_MEMBERSHIP is defined in /usr/include/x86_64-linux-gnu/bits/in.h (<bits/in.h>) and /usr/include/linux/in.h (<linux/in.h>). struct ip_mreq_source is defined in /usr/include/netinet/in.h (<netinet/in.h>). On Debian GNU/Hurd, IP_ADD_SOURCE_MEMBERSHIP is defined nowhere in /usr/include and struct ip_mreq_source is defined in /usr/include/netinet/in.h (<netinet/in.h>) as on Linux. > 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. -- Benjamin Drung Debian & Ubuntu Developer _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel