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