Hi Matt. I tried compiling your apr test below on Solaris (5.9 & 5.8) and it fails to compile mcast.c with the following error:
mcast.c: In function `apr_multicast_join': mcast.c:57: parse error before `struct' mcast.c:60: `mreq' undeclared (first use in this function) mcast.c:60: (Each undeclared identifier is reported only once mcast.c:60: for each function it appears in.) mcast.c:63: `ifreq' undeclared (first use in this function) What's missing? Do I need to supply additional configure arguments? ---- Yemi > -----Original Message----- > From: Matt Massie [mailto:[EMAIL PROTECTED] > Sent: Monday, July 26, 2004 3:10 PM > To: Ganglia Developers > Subject: [Ganglia-developers] 2.6.0 apr test > > guys- > > the apache runtime (apr.apache.org) doesn't support multicast > although it supports UDP sockets. i've added the multicast > support but it raises a few issues. > > the latest snapshot is at > http://matt-massie.com/ganglia/ganglia-apr-2.6.0.tar.gz > > i've tested it on linux and solaris. unfortunately, the > workstation that i installed freebsd on is temporarily hosed > (bad fan) so i wasn't able to test it there. > > the only file that i added can be found in > ./srclib/apr/network_io/unix/mcast.c. > > if you look at the source you'll see i need to include a > header file from the apr source (#include > "apr_arch_networkio.h"). i need the structures defined in > this header file in order to setup the multicast sockets. > unfortunately, this is a private header file which is not > installed during an apr installation. my hope is that over > time the multicast cast code will be included into the apr code base. > > until then.. we might have problems with packages who want to > use the current apr library ... since it will not have > multicast support. > > if any of you have time and want to test non-linux/solaris > systems, i'd appreciate it. to test this snapshot. > > 1. cd into ./gmond > 2. open gmond.c and edit the parameters of the > create_mcast_server_socket() call... the first three are > mcast_channel, mcast_port, mcast_if. > 3. ./configure and make > > when you run ./gmond/gmond you should get scrolling messages > saying that it got a multicast message. > > i also have another question about the ganglia configuration > file. i know that we've used dotconf in the past and it > suited our needs but i'm worried about it's limitations. > > for example, it used an apache-like section syntax but it can > only be one-level deep and the API is VERY awkward to work with. > > <Section> > name "First Section" > </Section> > > is allowed but > > <Section> > name "First Section" > <Section> > name "Second Section" > </Section> > </Section> > > is not allowed. i think that could bite us in the arse in the future. > > does anyone have a favorite configuration file parser? > > i've found and tested libconfuse > (http://www.nongnu.org/confuse/) and found it to work pretty > well. the syntax would look more like... > > Section { > name "Section One" > Section { > name "Section Two" > } > } > > which IS allowed. > > ideas? > > -matt > > > > > > > > > > > > -- > PGP fingerprint 'A7C2 3C2F 8445 AD3C 135E F40B 242A 5984 ACBC 91D3' > > They that can give up essential liberty to obtain a little > temporary safety deserve neither liberty nor safety. > --Benjamin Franklin, Historical Review of Pennsylvania, 1759 >