Xymon Mailing List Archive search

How to compile client

4 messages in this thread

list Ricardo A. Schütz · Tue, 20 Aug 2013 15:57:43 -0300 (BRT) ·
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 · Wed, 21 Aug 2013 22:20:45 +0200 ·
quoted from Ricardo A. Schütz
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 · Wed, 21 Aug 2013 21:06:46 +0000 ·
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=
quoted from Henrik Størner

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 · Thu, 22 Aug 2013 11:17:56 -0300 (BRT) ·
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
quoted from Ricardo A. Schütz

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