on second thought... scratch that idea.  i have a better one.

just include 
#include <apr_network_io.h>

to mcast.c and we'll be set.  it correctly adds netinet/in.h.

sorry that i missed that.

i just uploaded a new snapshot to
http://matt-massie.com/ganglia/ganglia-apr-2.6.0.tar.gz
with that change.  

good luck
-matt




On Wed, 2004-08-04 at 13:25, Adesanya, Adeyemi wrote:
> Matt,
> 
> The closest match I found (same on 5.8 and 5.9) is in 
> /usr/include/netinet/in.h . The following structs are
> defined:
> 
> #if !defined(_XPG4_2) || defined(__EXTENSIONS__)
> /*
>  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
>  */
> struct ip_mreq {
>       struct in_addr  imr_multiaddr;  /* IP multicast address of group */
>       struct in_addr  imr_interface;  /* local IP address of interface */
> };
> 
> /*
>  * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on
>  * IPv6 addresses.
>  */
> struct ipv6_mreq {
>       struct in6_addr ipv6mr_multiaddr;       /* IPv6 multicast addr */
>       unsigned int    ipv6mr_interface;       /* interface index */
> };
> 
> Is this similar to what you are using in Solaris 5.7? Can you get hold of 
> Solaris 5.9??
> 
> ----
> Yemi
>  
> > -----Original Message-----
> > From: Matt Massie [mailto:[EMAIL PROTECTED] 
> > Sent: Wednesday, August 04, 2004 10:14 AM
> > To: Adesanya, Adeyemi
> > Cc: 'Ganglia Developers'
> > Subject: RE: [Ganglia-developers] 2.6.0 apr test
> > 
> > yemi-
> > 
> > i'm using an older version of solaris (i think it's 5.7) so 
> > they must have moved the mreq definition to another header 
> > file.  if you run the command...
> > 
> > % find /usr/include -name "*.h" -exec grep -l "mreq" {} \;
> > 
> > you'll get a list of header files that have the mreq 
> > structure definition.  you'll need to glance inside the 
> > header files to see which one really has the struct 
> > definition and not just references the mreq structure.
> > 
> > when you find the header file... add it to the mcast.c file inside the
> > 
> > #ifdef SOLARIS2
> > ...
> > #endif
> > 
> > block.
> > 
> > that should fix it.  thanks so much for your effort!
> > 
> > -matt
> > 
> > On Tue, 2004-08-03 at 17:39, Adesanya, Adeyemi wrote:
> > > 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
> > > > 
> > > 
> > > 
> > > -------------------------------------------------------
> > > This SF.Net email is sponsored by OSTG. Have you noticed 
> > the changes 
> > > on Linux.com, ITManagersJournal and NewsForge in the past 
> > few weeks? 
> > > Now, one more big change to announce. We are now OSTG- Open Source 
> > > Technology Group. Come see the changes on the new OSTG site. 
> > > www.ostg.com _______________________________________________
> > > Ganglia-developers mailing list
> > > Ganglia-developers@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/ganglia-developers
> > --
> > 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
> > 
-- 
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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to