(You can read more about this in the back traffic - look for my diatribes
about RedHat and libpng).

I think what you're seeing is that the gcc line successfully references
myrrd/ for the .h files and yet the ld doesn't reference the -lmyrrd - IIRC
you said that was missing...

>   /usr/ccs/bin/ld -G -h librrdPlugin-2.2.97.so -o
.libs/librrdPlugin-2.2.97.so
rrdPlugin.lo  -L/usr/local/lib -L/usr/local/src/ntop/2.2cvs/ntop/myrrd -lpos
ix4 -lpthread -lresolv -lsocket -lxnet -lnsl -lm -ldl -lc -lssl -lcrypto -lg
dbm -lgd -lpng -lz

(See it has the -L but not the -l)

Now that both should be added during ./configure by this:

NTOP_APPENDS([${MYRRD}], [${MYRRD}], [myrrd])

You'll need to check the output of ./configure - look at the LIBS and INCS
settings

This is your ntop 2.2.97 configuration:

Host System Type        : i686-pc-linux-gnu
Preprocessor (cppflags) :  -DLINUX -I/usr/local/include
Compiler (cflags)       :
gcc -g -O2 -I/usr/local/include -Wshadow -Wpointer-arith -Wmissing-prototype
s -Wmissing-declarations -Wnested-externs  -fPIC
Defines                 : -DHAVE_CONFIG_H
Loader (ldflags)        :  -L/usr/local/lib
Include path            :
System Libs












: -lpthread -lresolv -lnsl -lcrypt -lc -lssl -lcrypto -lpcap -lgdbm -lgd -lp
ng -lz

(The last 3 are what builds the actual gcc and ld lines) (Well sort of - the
NTOP_APPENDS line is AFTER the configuration is printed.  Oops...)

But if you look in Makefile, you should see this:

LIBS
= -lpthread -lresolv -lnsl -lcrypt -lc -lssl -lcrypto -lpcap -lgdbm -lgd -lp
ng -lz  -lmyrrd

That's the real thing.

I don't understand why there's no -lmyrrd in your setup.


-----Burton






-----Original Message-----
From: David Birnbaum [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 02, 2003 5:16 PM
To: Burton M. Strauss III
Subject: RE: myrrd load failure


On Tue, 2 Dec 2003, Burton M. Strauss III wrote:

> Idiot - naah... but it really is in there!
>
> docs/FAQ line 430ff:

Ah.  Wrong FAQ.  The one on the web site is not the one in docs.

> As to myrrd - it's a complete copy of rrd as of version 1.0.42 with a few
> fixes that ntop requires and nothing else.  So what you DO NOT want to do
is
> to compile against a shared rrd and link in myrrd or vice verse.

Ok.  Tha clarifies.  But...

> The problem is that ld is aggressive at seeking out shared libraries and
> will link them in, even if there's a nice juicy static library you told it
> to use.  That's what causes the problem, with different (later) versions
of
> rrd having a few extra calls.

...maybe I'm confused, but how the heck is librrd.so getting linked in if
only -lmyrrd is specified?  Agressive as it is, it's not even looking at
the same library.

> The best way to ensure this does not happen is to delete the shared copy
of
> rrd you installed for the old ntop.  You don't need it.

Well...other things are linked against my system librrd.so.  So I can't
just nuke it.

<snip />

Cheers,

David.

_______________________________________________
Ntop-dev mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to