[naemon-users] Trying to build naemon-livestatus

Edgar Matzinger naemon at edgar-matzinger.nl
Sat Aug 20 14:45:24 CEST 2016


  I tried to build the naemon fork of mk_livestatus, and run into
some difficulties:

naemon-livestatus$ autoreconf -s
configure.ac:49: error: required file './ltmain.sh' not found
autoreconf: automake failed with exit status: 1
naemon-livestatus$ automake --add-missing
configure.ac:49: error: required file './ltmain.sh' not found

This was solved by extracting ltmain.sh from
mk-livestatus-1.2.8p9.tar.gz downloaded from Mathias' website.

After running ./configure and starting make, the following errors

../libtool: line 949: X--tag=CXX: command not found
../libtool: line 982: libtool: ignoring unknown tag : command not found
../libtool: line 949: X--mode=compile: command not found
../libtool: line 1116: *** Warning: inferring the mode of operation is
deprecated.: command not found
../libtool: line 1117: *** Future versions of Libtool will require
--mode=MODE be specified.: command not found
../libtool: line 1260: Xg++: command not found
../libtool: line 1260: X-DHAVE_CONFIG_H: command not found

This was solved by changing '$echo' into 'echo' in libtool:

$ sed -i -e 's/\$echo/echo/g' libtool

After which, I came across this:

make[2]: Entering directory
  CC       livestatus_la-module.lo
module.c: In function 'reap_client_threads':
module.c:102:18: warning: implicit declaration of function
'pthread_tryjoin_np' [-Wimplicit-function-declaration]
         if (0 != pthread_tryjoin_np(*(g_client_threads[i]), NULL)) {

This is just a warning. Strange though... pthread.h is included.

Next, this popped up:

  CXXLD    livestatus.la
ar: `u' modifier ignored since `D' is the default (see `U')
Usage: ranlib [options] archive
 Generate an index to speed access to archives
 The options are:
  @<file>                      Read options from <file>
  --plugin <name>              Load the specified plugin
  -D                           Use zero for symbol map timestamp (default)

  -U                           Use an actual symbol map timestamp
  -t                           Update the archive's symbol map timestamp
  -h --help                    Print this help message
  -v --version                 Print version information
ranlib: supported targets: elf64-x86-64 elf32-i386 elf32-x86-64
a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little
elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex
binary ihex
Makefile:550: recipe for target 'livestatus.la' failed
make[2]: *** [livestatus.la] Error 1
make[2]: Leaving directory
Makefile:484: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
Makefile:395: recipe for target 'all' failed
make: *** [all] Error 2

This was solved by changing line 6164 of libtool into:

		$run eval "$cmd" # || exit $?

Commenting out '|| exit $?' The problem here is that $tool_oldlib has
no value and ranlib complains about nothing to do...

Now make builds successfully...

Kind regards and have a nice weekend,
Edgar Matzinger                               \\\|///
                                            \\  - -  //
                                             (  @ @  )

More information about the Naemon-users mailing list