How to compile client
list Ricardo A. Schütz
Hi,
I need help compiling the client.
I have compiled the server and it's working fine. Now I need to compile the client but it doesn't compile. The first error (which I can't remember) I have corrected compiling the server before the client.
Now I get the following error:
make[1]: Entering directory `/usr/src/xymon-4.3.12/xymond'
make[1]: *** No rule to make target `../lib/xymonclient.a', needed by `../client/xymond_client'. Stop.
make[1]: Leaving directory `/usr/src/xymon-4.3.12/xymond'
make: *** [xymond-client] Error 2
So I tried to change the file ./xymond/Makefile to the following:
../client/xymond_client: $(CLIENTOBJS) ../lib/libxymonclient.a
$(CC) -o $@ $(RPATHOPT) $(CLIENTOBJS) ../lib/libxymonclient.a $(PCRELIBS) $(NETLIBS) $(LIBRTDEF)
And now:
make[1]: Entering directory `/usr/src/xymon-4.3.12/xymond'
gcc -o ../client/xymond_client -Wl,--rpath, xymond_client.o xymond_worker.o xymond_buffer.o client_config.o ../lib/libxymonclient.a -L -lpcre
xymond_client.o: In function `want_msgtype':
/usr/src/xymon-4.3.12/xymond/xymond_client.c:257: undefined reference to `xmh_item'
xymond_client.o: In function `unix_cpu_report':
/usr/src/xymon-4.3.12/xymond/xymond_client.c:482: undefined reference to `init_status'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:490: undefined reference to `addtostatus'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:496: undefined reference to `addtostatus'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:497: undefined reference to `addtostatus'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:501: undefined reference to `finish_status'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:492: undefined reference to `addtostrstatus'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:493: undefined reference to `addtostatus'
/usr/src/xymon-4.3.12/xymond/xymond_client.c:500: undefined reference to `addtostatus'
Any help would be much appreciated.
Thanks in advance.
--
Ricardo Alberto Schutz
Consultor
LXTI - www.lxti.com.br
Tel. Comercial: +55 (47) 3385-4345
Celular: +55 (47) 8802-3881
list Henrik Størner
▸
On 20-08-2013 20:57, Ricardo A. Schütz wrote:
I need help compiling the client. I have compiled the server and it's working fine. Now I need to compile the client but it doesn't compile. The first error (which I can't remember) I have corrected compiling the server before the client. Now I get the following error: make[1]: Entering directory `/usr/src/xymon-4.3.12/xymond' make[1]: *** No rule to make target `../lib/xymonclient.a', needed by `../client/xymond_client'. Stop. make[1]: Leaving directory `/usr/src/xymon-4.3.12/xymond' make: *** [xymond-client] Error 2
Seems there is a problem with the Makefile's when trying to build the client in the non-default "client-side" configuration. I don't have a quick fix for it, but I would also recommend using the server-side configuration. Regards, Henrik
list Galen Johnson
This is what I get when I run "make -s" as instructed after running ./configure.client... # ./configure.client Configuration script for Xymon client This script asks a few questions and builds a Makefile to compile Xymon Checking your make-utility Xymon normally keeps all of the client configuration files on the Xymon server. If you prefer, it is possible to use a local client configuration file instead - if so, answer 'client' to the next question. NB: Local configuration requires the PCRE libs on each host. Server side client configuration, or client side [server] ? client Checking for the PCRE libraries Checking for PCRE ... Compiling with PCRE library works OK Linking with PCRE library works OK Checking for Large File Support ... Large File Support OK Checking for clock_gettime() requiring librt ... clock_gettime() requires librt What userid will be running Xymon [xymon] ? Found passwd entry for user xymon:x:1984:1984::/usr/local/xymon:/bin/false Where do you want the Xymon installation [/usr/local/xymon] ? OK, will configure to use /usr/local/xymon as the Xymon toplevel directory What is the IP-address of your Xymon server [127.0.0.1] ? ** NOTE: Using 127.0.0.1 (loopback), but it is probably not what you want ** Using Linux Makefile settings Created Makefile with the necessary information to build Xymon Some defaults are used, so do look at the Makefile before continuing. Configuration complete - now run make -s (GNU make) to build the tools # make -s Checking for socklen_t Checking for snprintf Checking for vsnprintf Checking for rpc/rpcent.h Checking for sys/select.h Checking for u_int32_t typedef Checking for PATH_MAX definition Checking for SHUT_RD/WR/RDWR definitions Checking for strtoll() config.h created /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' /tmp/ccXXnYLd.o: In function `freeregex': /root/src/xymon-4.3.12/lib/matching.c:66: undefined reference to `pcre_free' /tmp/ccXXnYLd.o: In function `matchregex': /root/src/xymon-4.3.12/lib/matching.c:58: undefined reference to `pcre_exec' /tmp/ccXXnYLd.o: In function `pickdata': /root/src/xymon-4.3.12/lib/matching.c:165: undefined reference to `pcre_exec' /root/src/xymon-4.3.12/lib/matching.c:172: undefined reference to `pcre_copy_substring' /root/src/xymon-4.3.12/lib/matching.c:183: undefined reference to `dbgprintf' /tmp/ccXXnYLd.o: In function `compileregex_opts': /root/src/xymon-4.3.12/lib/matching.c:31: undefined reference to `dbgprintf' /root/src/xymon-4.3.12/lib/matching.c:32: undefined reference to `pcre_compile' /root/src/xymon-4.3.12/lib/matching.c:34: undefined reference to `errprintf' /tmp/ccXXnYLd.o: In function `compile_exprs': /root/src/xymon-4.3.12/lib/matching.c:145: undefined reference to `errprintf' /root/src/xymon-4.3.12/lib/matching.c:146: undefined reference to `pcre_free' /root/src/xymon-4.3.12/lib/matching.c:147: undefined reference to `xfreenullstr' /root/src/xymon-4.3.12/lib/matching.c:147: undefined reference to `errprintf' /tmp/ccXXnYLd.o: In function `timematch': /root/src/xymon-4.3.12/lib/matching.c:198: undefined reference to `within_sla' collect2: ld returned 1 exit status make[1]: *** [matching.o] Error 1 make: *** [lib-client] Error 2 pcre and pcre-devel are installed. I can;t find it at the moment but one of my runs complained about the clock_gettime() (?) call. It was complaining about librt but I'm still trying to track that down. This is on RHEL 6.3. It's possible I may still be missing something. I ran the full install (client and server) on my Ubuntu machine without issue. =G=
▸
From: Xymon [xymon-bounces at xymon.com] on behalf of Henrik Størner [user-ce4a2c883f75@xymon.invalid]
Sent: Wednesday, August 21, 2013 4:20 PM
To: xymon at xymon.com
Subject: Re: [Xymon] How to compile client
On 20-08-2013 20:57, Ricardo A. Schütz wrote:I need help compiling the client. I have compiled the server and it's working fine. Now I need to compile the client but it doesn't compile. The first error (which I can't remember) I have corrected compiling the server before the client. Now I get the following error: make[1]: Entering directory `/usr/src/xymon-4.3.12/xymond' make[1]: *** No rule to make target `../lib/xymonclient.a', needed by `../client/xymond_client'. Stop. make[1]: Leaving directory `/usr/src/xymon-4.3.12/xymond' make: *** [xymond-client] Error 2
Seems there is a problem with the Makefile's when trying to build the client in the non-default "client-side" configuration. I don't have a quick fix for it, but I would also recommend using the server-side configuration. Regards, Henrik
list Ricardo A. Schütz
Ok. After some research, here's what I did to compile the client on a Gentoo machine.
- Compiled the server
- rm Makefile
- ./configure.client
- vi Makefile
PCREINCDIR = -I/usr/lib64
- vi xymond/Makefile
../client/xymond_client: $(CLIENTOBJS) ../lib/libxymonclient.a
$(CC) -o $@ $(RPATHOPT) $(CLIENTOBJS) ../lib/loadhosts.o ../lib/matching.o ../lib/timing.o ../lib/locator.o ../lib/libxymonclientcomm.a ../lib/libxymonclient.a -lpcre $(PCRELIBS) $(NETLIBS) $(LIBRTDEF)
- vi client/Makefile
IDTOOL=id
- And finally make
- make install
Then I just needed to change the main client task in clientlaunch.cfg and remove the --local option.
Hope this can help someone.
Thanks.
--
Ricardo Alberto Schütz
Consultor
LXTI - www.lxti.com.br
Telefone: +55 (47) 3385-4345
Celular: +55 (47) 8802-3881
----- Mensagem original -----
De: "Henrik Størner" <user-ce4a2c883f75@xymon.invalid>
Para: xymon at xymon.com
Enviadas: Quarta-feira, 21 de Agosto de 2013 17:20:45
Assunto: Re: [Xymon] How to compile client
▸
On 20-08-2013 20:57, Ricardo A. Schütz wrote:I need help compiling the client. I have compiled the server and it's working fine. Now I need to compile the client but it doesn't compile. The first error (which I can't remember) I have corrected compiling the server before the client. Now I get the following error: make[1]: Entering directory `/usr/src/xymon-4.3.12/xymond' make[1]: *** No rule to make target `../lib/xymonclient.a', needed by `../client/xymond_client'. Stop. make[1]: Leaving directory `/usr/src/xymon-4.3.12/xymond' make: *** [xymond-client] Error 2
Seems there is a problem with the Makefile's when trying to build the client in the non-default "client-side" configuration. I don't have a quick fix for it, but I would also recommend using the server-side configuration. Regards, Henrik