Looks like either you are missing the XML library (expat & expat-devel
packages) or gexec is not linking with expat at build time.  Does its
configure script test for and add the expat library to the link command?

~Jason


On Fri, 2008-05-30 at 10:33 -0500, Joe Williams wrote:
> Anyone have any clues on this?
> 
> Thanks.
> -Joe
> 
> 
> Joe Williams wrote:
> > I have been able to get a bit further. After finding this post to the 
> > developers list:
> >
> > http://www.mail-archive.com/[EMAIL PROTECTED]/msg02443.html
> >
> > Specifically:
> >
> >   
> >> The gexec-0.3.6 available from http://www.theether.org/gexec does not
> >> build with 3.0.* versions of Ganglia. It builds correctly only with 2.*
> >> versions. If you want to build with Ganglia 3, edit the gexec.c to include
> >> /usr/include/ganglia.h and not /usr/include/ganglia/gexec_funcs.h. Of
> >> course, you have to have ganglia-devel installed for this to work. Another
> >> thing, in addition to the above, you have to add #include <e/llist.h> to
> >> gexec.c in order to successfully build the gexec.
> >>   
> >>     
> >
> > I made the modifications and it still did not build properly due to 
> > <e/llist.h> missing. An 'rpm -ql libe' showed that it was not included 
> > in that package. So I copied it from the repo mentioned in the above 
> > email 
> > (http://svn.oscar.openclustergroup.org/svn/oscar-soc/soc-2006/hpcmetrics/ganglia/src/lib/llist.h).
> >  
> > Once done I was able to get further in the build but it then failed at:
> >
> >   
> >> gcc: /usr/lib/libganglia.a: No such file or directory
> >>     
> > So I symlinked /usr/lib64/libganglia.a to /usr/lib/libganglia.a
> >
> > Next it failed at:
> >
> >   
> >> $ rpmbuild -ba /usr/src/redhat/SPECS/gexec.spec
> >> <snip>
> >> gexec.c: In function ‘main’:
> >> gexec.c:324: warning: ‘ips’ may be used uninitialized in this function
> >> gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -O2 -Wall -D_REENTRANT -g 
> >> -D_GNU_SOURCE -DDEBUG -c gexec_options.c
> >> gcc  -O2 -Wall -D_REENTRANT -g -D_GNU_SOURCE -DDEBUG  -o gexec -L. 
> >> gexec.o gexec_options.o -lpthread -lgexec -le -lauth -lssl -lcrypto 
> >> /usr/lib/libganglia.a -lssl -lpthread -lcrypto
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x10c): undefined reference to `XML_ParserCreate'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x160): undefined reference to `XML_SetElementHandler'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x16b): undefined reference to `XML_SetUserData'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x178): undefined reference to `XML_GetBuffer'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x1c4): undefined reference to `XML_ParserFree'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x1f6): undefined reference to `XML_ParseBuffer'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x265): undefined reference to `XML_GetErrorCode'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x26c): undefined reference to `XML_ErrorString'
> >> /usr/lib/libganglia.a(ganglia.o): In function `gexec_cluster':
> >> (.text+0x277): undefined reference to `XML_GetCurrentLineNumber'
> >> collect2: ld returned 1 exit status
> >> make: *** [gexec] Error 1
> >>     
> >
> > This is where I am stuck for now, any ideas would be helpful. Also, is 
> > it normal to run into these issues when building gexec and etc or am I 
> > off base? If I am doing something wrong please let me know. Has anyone 
> > else ran into these issues building gexec on centos5?
> >
> > Thanks.
> > -Joe
> >
> >
> >
> > Joe Williams wrote:
> >   
> >> Jason,
> >>
> >> The authd SRPM I downloaded is located at 
> >> http://sourceforge.net/project/showfiles.php?group_id=43021&package_id=36388&release_id=88941
> >>
> >> Since it is side by side with the other ganglia downloads I figured this 
> >> was the place to ask.
> >>
> >> It looks like it was caused by libe missing, I have built and installed 
> >> it as well as authd. I just attempted to build gexec and it fails:
> >>
> >>   
> >>     
> >>> $  rpmbuild -ba /usr/src/redhat/SPECS/gexec.spec
> >>> <snip>
> >>> creating gexec.spec
> >>> creating config.h
> >>> + make ROOT=/var/tmp/gexec-0.3.6-1-buildroot 'RPM_OPT_FLAGS=-O2 -g'
> >>> gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -O2 -Wall -D_REENTRANT -g 
> >>> -D_GNU_SOURCE -DDEBUG -c gexec_lib.c
> >>> gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -O2 -Wall -D_REENTRANT -g 
> >>> -D_GNU_SOURCE -DDEBUG -c request.c
> >>> rm -f libgexec.a
> >>> ar cru libgexec.a gexec_lib.o request.o
> >>> ranlib libgexec.a
> >>> gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -O2 -Wall -D_REENTRANT -g 
> >>> -D_GNU_SOURCE -DDEBUG -c gexec.c
> >>> gexec.c:39:33: error: ganglia/gexec_funcs.h: No such file or directory
> >>> gexec.c: In function ‘ips_create_ganglia’:
> >>> gexec.c:151: error: ‘gexec_cluster_t’ undeclared (first use in this 
> >>> function)
> >>> gexec.c:151: error: (Each undeclared identifier is reported only once
> >>> gexec.c:151: error: for each function it appears in.)
> >>> gexec.c:151: error: expected ‘;’ before ‘cluster’
> >>> gexec.c:152: error: ‘gexec_host_t’ undeclared (first use in this function)
> >>> gexec.c:152: error: ‘host’ undeclared (first use in this function)
> >>> gexec.c:153: error: ‘llist_entry’ undeclared (first use in this function)
> >>> gexec.c:153: error: ‘lli’ undeclared (first use in this function)
> >>> gexec.c:161: warning: implicit declaration of function ‘gexec_cluster’
> >>> gexec.c:161: error: ‘cluster’ undeclared (first use in this function)
> >>> gexec.c:165: warning: implicit declaration of function 
> >>> ‘gexec_cluster_free’
> >>> gexec.c:174: error: expected expression before ‘)’ token
> >>> gexec.c: In function ‘ips_create_local_ganglia’:
> >>> gexec.c:199: error: ‘gexec_cluster_t’ undeclared (first use in this 
> >>> function)
> >>> gexec.c:199: error: expected ‘;’ before ‘cluster’
> >>> gexec.c:200: error: ‘gexec_host_t’ undeclared (first use in this function)
> >>> gexec.c:200: error: ‘host’ undeclared (first use in this function)
> >>> gexec.c:201: error: ‘llist_entry’ undeclared (first use in this function)
> >>> gexec.c:201: error: ‘lli’ undeclared (first use in this function)
> >>> gexec.c:205: error: ‘cluster’ undeclared (first use in this function)
> >>> gexec.c:217: error: expected expression before ‘)’ token
> >>> make: *** [gexec.o] Error 1
> >>> error: Bad exit status from /var/tmp/rpm-tmp.2725 (%build)
> >>>
> >>>
> >>> RPM build errors:
> >>>     Bad exit status from /var/tmp/rpm-tmp.2725 (%build)
> >>> [EMAIL PROTECTED] ganglia]# rpm -qa | grep ganglia
> >>> ganglia-gmond-3.0.7-1
> >>> ganglia-devel-3.0.7-1
> >>> ganglia-gmetad-3.0.7-1
> >>>     
> >>>       
> >> Locate returns nothing for 'gexec_funcs.h'.
> >>
> >> Any suggestions?
> >>
> >> Thanks.
> >> -Joe
> >>
> >>
> >>
> >>
> >> Jason A. Smith wrote:
> >>   
> >>     
> >>> On Wed, 2008-05-28 at 17:35 -0500, Joe Williams wrote:
> >>>   
> >>>     
> >>>       
> >>>> Thanks Jason,
> >>>>
> >>>> I actually have attempted to use the SRPMs first for these packages but 
> >>>> ran into the aforementioned issues which led me to trying the RPMs. For 
> >>>> instance when I attempt to build authd I get the following:
> >>>>
> >>>>     
> >>>>       
> >>>>         
> >>>>> $ rpmbuild -ba /usr/src/redhat/SPECS/authd.spec
> >>>>> <snip>
> >>>>> creating config/authd
> >>>>> creating config.h
> >>>>> + make 'RPM_OPT_FLAGS=-O2 -g'
> >>>>> gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -O2 -Wall -D_REENTRANT -g -c 
> >>>>> auth.c
> >>>>> auth.c:31:23: error: e/e_error.h: No such file or directory
> >>>>> auth.c:32:19: error: e/net.h: No such file or directory
> >>>>>       
> >>>>>         
> >>>>>           
> >>> The important error is above, basically you are missing a *-devel or
> >>> other lib package (you need all build dependencies when rebuilding
> >>> source rpms).  The spec file is clearly missing a BuildRequires line.  I
> >>> am not exactly sure where this is coming from or where this authd you
> >>> are trying to build came from, but this might be what you are looking
> >>> for:
> >>>
> >>> http://www.theether.org/libe/
> >>>
> >>> What does this have to do with ganglia?
> >>>
> >>> ~Jason
> >>>
> >>>   
> >>>     
> >>>       
> >>>>> auth.c: In function ‘auth_get_signature’:
> >>>>> auth.c:49: error: ‘UNIX_PATH_MAX’ undeclared (first use in this 
> >>>>> function)
> >>>>> auth.c:49: error: (Each undeclared identifier is reported only once
> >>>>> auth.c:49: error: for each function it appears in.)
> >>>>> auth.c:52: warning: implicit declaration of function 
> >>>>> ‘net_cli_unixsock_create’
> >>>>> auth.c:53: error: ‘E_OK’ undeclared (first use in this function)
> >>>>> auth.c:55: warning: implicit declaration of function ‘net_send_bytes’
> >>>>> auth.c:59: warning: implicit declaration of function ‘net_recv_bytes’
> >>>>> auth.c:49: warning: unused variable ‘auth_sock_path’
> >>>>> make: *** [auth.o] Error 1
> >>>>> error: Bad exit status from /var/tmp/rpm-tmp.53286 (%build)
> >>>>>
> >>>>>
> >>>>> RPM build errors:
> >>>>>     Bad exit status from /var/tmp/rpm-tmp.53286 (%build)
> >>>>>       
> >>>>>         
> >>>>>           
> >>>> Again, thanks for the help and any guidance on this.
> >>>>
> >>>> -Joe
> >>>>
> >>>>
> >>>>
> >>>> Jason A. Smith wrote:
> >>>>     
> >>>>       
> >>>>         
> >>>>> Hi Joe,
> >>>>>
> >>>>> I am not exactly sure what started you on these dependency problems, but
> >>>>> whenever you have problems like this from binary rpms that someone else
> >>>>> built on an unknown OS, it is probably best to find the source rpm and
> >>>>> rebuild it on your local system.  Then, if you have all of the build
> >>>>> dependencies and it compiles okay, you should have no problems
> >>>>> installing the binary rpm that you built.
> >>>>>
> >>>>> The RHEL4 server I checked has two versions of openssl installed,
> >>>>> probably the current one at the time RHEL4 was released, and an older
> >>>>> version for backwards compatibility with older applications:
> >>>>>
> >>>>> # ls -l /lib/libcrypto.so.*
> >>>>> -rwxr-xr-x  1 root root 824272 Sep 28  2006 /lib/libcrypto.so.0.9.6b
> >>>>> -rwxr-xr-x  1 root root 945120 Oct 22  2007 /lib/libcrypto.so.0.9.7a
> >>>>> lrwxrwxrwx  1 root root     19 Oct 23  2007 /lib/libcrypto.so.2 -> 
> >>>>> libcrypto.so.0.9.6b
> >>>>> lrwxrwxrwx  1 root root     19 Oct 23  2007 /lib/libcrypto.so.4 -> 
> >>>>> libcrypto.so.0.9.7a
> >>>>>
> >>>>> # rpm -qf /lib/libcrypto.so.0.9.7a /lib/libcrypto.so.0.9.6b
> >>>>> openssl-0.9.7a-43.17.el4_6.1.i686
> >>>>> openssl096b-0.9.6b-22.46.i386
> >>>>>
> >>>>>
> >>>>> ~Jason
> >>>>>
> >>>>>
> >>>>> On Wed, 2008-05-28 at 17:05 -0500, Joe Williams wrote:
> >>>>>   
> >>>>>       
> >>>>>         
> >>>>>           
> >>>>>> Thanks Jason, I am certainly seeing the same thing on a centos5 
> >>>>>> machine. 
> >>>>>> I attempted to symlink the current libraries into libcrypto.so.2 and 
> >>>>>> libssl.so.2 but that didn't seem to work. For that matter I checked a 
> >>>>>> centos4 machine and it seems to use libcrypto.so.4 and I do not get 
> >>>>>> the 
> >>>>>> same result as your first example. Is there a solution that most 
> >>>>>> ganglia 
> >>>>>> and RHEL5 users use to ameliorate this issue?
> >>>>>>
> >>>>>> thanks.
> >>>>>> -Joe
> >>>>>>
> >>>>>>
> >>>>>> Jason A. Smith wrote:
> >>>>>>     
> >>>>>>         
> >>>>>>           
> >>>>>>             
> >>>>>>> If you have the rpmdb-redhat package installed, then you can query rpm
> >>>>>>> to see what package RedHat distributes which provides the requested
> >>>>>>> capability, even if the package is not installed.  For example, on a
> >>>>>>> RHEL4 server, I get:
> >>>>>>>
> >>>>>>> $ rpm --redhatprovides libcrypto.so.2 libssl.so.2
> >>>>>>> openssl096b-0.9.6b-22.46.i386
> >>>>>>> openssl096b-0.9.6b-22.46.i386
> >>>>>>>
> >>>>>>> You can do the same rpm command on RHEL5:
> >>>>>>>
> >>>>>>> $ rpm --redhatprovides libcrypto.so.2 libssl.so.2
> >>>>>>> no package provides libcrypto.so.2
> >>>>>>> no package provides libssl.so.2
> >>>>>>>
> >>>>>>> Or you can use yum:
> >>>>>>>
> >>>>>>> $ yum whatprovides libcrypto.so.2 libssl.so.2 
> >>>>>>> No Matches found
> >>>>>>>
> >>>>>>> But it doesn't look like RHEL5 provides that old version of openssl.
> >>>>>>>
> >>>>>>> ~Jason
> >>>>>>>
> >>>>>>>
> >>>>>>> On Wed, 2008-05-28 at 14:52 -0500, Joe Williams wrote:
> >>>>>>>   
> >>>>>>>       
> >>>>>>>           
> >>>>>>>             
> >>>>>>>               
> >>>>>>>> I am seeing the following issue with authd:
> >>>>>>>>
> >>>>>>>>     
> >>>>>>>>         
> >>>>>>>>             
> >>>>>>>>               
> >>>>>>>>                 
> >>>>>>>>> [EMAIL PROTECTED] ganglia]# rpm -qa | grep openssl
> >>>>>>>>> openssl-devel-0.9.8b-8.3.el5_0.2
> >>>>>>>>> openssl-0.9.8b-8.3.el5_0.2
> >>>>>>>>> openssl-devel-0.9.8b-8.3.el5_0.2
> >>>>>>>>> openssl-0.9.8b-8.3.el5_0.2
> >>>>>>>>> [EMAIL PROTECTED] ganglia]# rpm -ivh authd-0.2.1-1.i386.rpm
> >>>>>>>>> error: Failed dependencies:
> >>>>>>>>>     libcrypto.so.2 is needed by authd-0.2.1-1.i386
> >>>>>>>>>     libssl.so.2 is needed by authd-0.2.1-1.i386
> >>>>>>>>>       
> >>>>>>>>>           
> >>>>>>>>>               
> >>>>>>>>>                 
> >>>>>>>>>                   
> >>>>>>>> What libraries need to be installed for this installation?
> >>>>>>>>
> >>>>>>>> thanks.
> >>>>>>>> -Joe
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>     
> >>>>>>>>         
> >>>>>>>>             
> >>>>>>>>               
> >>>>>>>>                 
> >>   
> >>     
> >
> >   
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Ganglia-general mailing list
Ganglia-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-general

Reply via email to