Can't compile in Debian Woody

Kokey

10-11-2004 17:40:51

** Hey! sorry.. Admin could you move this post to support forum?**

Hi,

the ./configure runs well, but the problem is
[code1f5de88ee89]
kokey:~/netmrg/netmrg-0.18.2# make
Making all in src
Making all in .
CXX db.o
CXX devices.o
CXX events.o
CXX locks.o
CXX mappings.o
CXX monitors.o
monitors.cpp: In function `uint process_monitor(DeviceInfo, MYSQL *, RRDInfo)':
monitors.cpp:370: implicit declaration of function `int llround(...)'
make[2]: *** [monitors.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
[/code1f5de88ee89]

Any idea?
Thanks a lot, I really want to test netmrg.

silfreed

10-11-2004 17:59:25

Which version are you using? We recently fixed this bug, should be in 0.18.2.

-Doug

Kokey

10-11-2004 18:02:18

?
that's the version that I'm using

[quotea3616a24b3]
kokey~/netmrg/netmrg-0.18.2# make
[/quotea3616a24b3]

balleman

10-11-2004 18:41:53

The configure script is supposed to detect the presence of llround. Could you check your config.log for any info regarding this test?

Kokey

10-11-2004 18:53:40

Here some lines extracted from config.log

[code16e7c79f495]
837 configure:6292: result: yes
838 configure:6204: checking for llround
839 configure:6261: g++ -o conftest -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/include/libxml2 conftest.cc -lmysqlclient -lxml2 -lstdc++ -lp thread -lz -ldl >&5
840 configure:6267: $? = 0
841 configure:6271: test -z
842 || test ! -s conftest.err
843 configure:6274: $? = 0
844 configure:6277: test -s conftest
845 configure:6280: $? = 0
846 configure:6292: result: yes
...
1088 ac_cv_exeext=
1089 ac_cv_func_llround=yes
1090 ac_cv_func_lstat_dereferences_slashed_symlink=yes
1091 ac_cv_func_memcmp_working=yes
[/code16e7c79f495]

[b6e7c79f495]Thanks![/b6e7c79f495]

keb

11-11-2004 02:32:37

[quote52cb243d65="Kokey"]the ./configure runs well, but the problem is
[code152cb243d65]
kokey:~/netmrg/netmrg-0.18.2# make
Making all in src
Making all in .
CXX db.o
CXX devices.o
CXX events.o
CXX locks.o
CXX mappings.o
CXX monitors.o
monitors.cpp: In function `uint process_monitor(DeviceInfo, MYSQL *, RRDInfo)':
monitors.cpp:370: implicit declaration of function `int llround(...)'
make[2]: *** [monitors.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
[/code152cb243d65][/quote52cb243d65]

That's odd. After running configure, in src/include/config.h, is HAVE_LLROUND defined to 1 or still undef? It would have to be the former, but I just want to make sure.

It might be missing the libm library. Please run the following in the NetMRG src directory
[code152cb243d65]make VERBOSE=1[/code152cb243d65]

From that you should see what command is being run to build monitors.cpp. Copy that and try to run it in your shell, adding '-lm' to the line.

Let us know how it turns out or if you need help with the above items. In the meantime, I'll see if I can find a box to install Woody on to see if I can duplicate this issue and resolve this build error.

- Kevin

Kokey

11-11-2004 11:51:25

here's the output
[code1ac240029ae]
kokey:~/netmrg/netmrg-0.18.2/src# make VERBOSE=1
Making all in .
make[1]: Entering directory `/root/netmrg/netmrg-0.18.2/src'
CXX monitors.o
source='monitors.cpp' object='monitors.o' libtool=no \
depfile='.deps/monitors.Po' tmpdepfile='.deps/monitors.TPo' \
depmode=gcc /bin/sh ../depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I../src/include -I./include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/include/libxml2 -I/usr/include/ucd-snmp -g -O2 -c -o monitors.o monitors.cpp
monitors.cpp: In function `uint process_monitor(DeviceInfo, MYSQL *, RRDInfo)':
monitors.cpp:370: implicit declaration of function `int llround(...)'
make[1]: *** [monitors.o] Error 1
make[1]: Leaving directory `/root/netmrg/netmrg-0.18.2/src'
make: *** [all-recursive] Error 1
[/code1ac240029ae]

Then I run
[code1ac240029ae]
l:~/netmrg/netmrg-0.18.2/src# g++ -lm -DHAVE_CONFIG_H -I. -I. -I../src/include -I./include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/include/libxml2 -I/usr/include/ucd-snmp -g -O2 -c -o monitors.o monitors.cpp
monitors.cpp: In function `uint process_monitor(DeviceInfo, MYSQL *, RRDInfo)':
monitors.cpp:370: implicit declaration of function `int llround(...)'
[/code1ac240029ae]

Thanks again!

keb

12-11-2004 20:54:02

[quotec78757de54="Kokey"][code1c78757de54]
l:~/netmrg/netmrg-0.18.2/src# g++ -lm -DHAVE_CONFIG_H -I. -I. -I../src/include -I./include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/include/libxml2 -I/usr/include/ucd-snmp -g -O2 -c -o monitors.o monitors.cpp
monitors.cpp: In function `uint process_monitor(DeviceInfo, MYSQL *, RRDInfo)':
monitors.cpp:370: implicit declaration of function `int llround(...)'
[/code1c78757de54][/quotec78757de54]

I've found a Debian Woody box and was able to see this error as well. I'll poke around tonight and see if I can get it to build.

- Kevin

keb

12-11-2004 21:57:20

I've finally got it to build correctly on Debian Woody using g++ v3.0.4.

[code1eb8832193a]apt-get install g++-3.0[/code1eb8832193a]

Then as your build user, run

[code1eb8832193a]./configure 'CXX=g++-3.0'
make
[/code1eb8832193a]

That should build NetMRG 0.18.2 successfully, without any changes to the source. Please try this and let us know your results. If everything works, a section for Debian Woody will probably be added to the 'Satisfying Requirements' section of the docs.

Thanks,
Kevin

Kokey

15-11-2004 12:10:58

8)
That's it!

everything compile and install ok.

Thanks!

Now, I need to continue reading the documentation.....

Gracias!