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

Shishir Birmiwal shishir at birmiwal.net
Fri Jan 12 08:26:18 PST 2007


Hi,

I recently downloaded live-2007.01.11.tar.gz and tried to build it on
cygwin (WinXP). After a ./genMakefile cygwin, I did a make. After
spewing a lot of output on screen the build would give an error on
groupsock/GroupsockHelper.cpp, complaining of inadequately defined
structure ip_mreq_source.

A little probing into the source revealed the reason to be
IP_ADD_SOURCE_MEMBERSHIP defined for this platform. Moving the #endif
above the ip_mreq_source solved the problem.

    462 // The source-specific join/leave operations require special
setsockopt()
    463 // commands, and a special structure (ip_mreq_source).  If the
include files
    464 // didn't define these, we do so here:
    465 #ifndef IP_ADD_SOURCE_MEMBERSHIP
    466 #ifdef LINUX
    467 #define IP_ADD_SOURCE_MEMBERSHIP   39
    468 #define IP_DROP_SOURCE_MEMBERSHIP 40
    469 #else
    470 #define IP_ADD_SOURCE_MEMBERSHIP   25
    471 #define IP_DROP_SOURCE_MEMBERSHIP 26
    472 #endif
    473 #endif  // moved up here
    474
    475 struct ip_mreq_source {
    476   struct  in_addr imr_multiaddr;  /* IP multicast address of group */
    477   struct  in_addr imr_sourceaddr; /* IP address of source */
    478   struct  in_addr imr_interface;  /* local IP address of interface */
    479 };
    480 // #endif // commented out here and moved up


I guess this may be very specific to my platform (where
IP_ADD_SOURCE_MEMBERSHIP is defined). I did not get much time to build
it on a linux machine. In either case, moving the #endif up should fix
the issue.

Hope this helps anybody who comes across this problem.

Regards
Shishir

PS: gcc -v output is
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with:
/usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --verbose
--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info
--enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls
--without-included-gettext --enable-version-specific-runtime-libs
--without-x --enable-libgcj --disable-java-awt --with-system-zlib
--enable-interpreter --disable-libgcj-debug --enable-threads=posix
--enable-java-gc=boehm --disable-win32-registry
--enable-sjlj-exceptions --enable-hash-synchronization
--enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)


More information about the live-devel mailing list