[rrd-users] Re: compiling rrdtool on HP-UX 11.0

Jakob Ilves jakob.ilves at oracle.com
Thu May 10 10:27:40 MEST 2001


Hello Scott and Michael!

This is a long mail but I hope it's a legible description of what (I suppose)
are biting you and how that can be fixed.  (BTW, this mail is a reply to two
different mails I've recieved describing the same problem)

"Scott G. Lewis" wrote:

> No I still haven't solved the problem. Any one else out there have any ideas
> yet!!!!

(Ok, here we talk about building rrdtool for HP-UX 11.00 where everything goes
great until that "ld: can't find library for -lrrd_private" error mesage...)

Probably your Perl installation don't know that you use gcc and not the HP C
compiler.  Those two compilers (and their associated tools) both use different
flags for controlling some vital features and the flags suitable for building
with the HP C compilier are provided to gcc, causing some problems.  This is how
it happens:

When configure is run it investigates your system and generates a number of
Makefiles adopted to your system's specific environment.  In order to create the
Makefile for the Perl module RRDs.sl the configure program runs a small Perl
program (Makefile.PL) which writes the Makefile.  The grunt job of creating this
Makefile is done by a function called "WriteMakefile" which is part of the
ExtUtils::MakeMaker module.  The latter module is part of the Perl environment
itself and as the Perl environment "remembers" by the help of another module,
Config,  the flags etc for the C development environment it (the Perl
environment) was built under. "WriteMakefile" uses those flags when building the
Makefile for RRDs.sl.

Think of it, it's a smart feature.  It makes sure that the RRDs.sl module is
built with a Makefile which uses the same compiler/linker etc flags which was
used when Perl was built.  (As the environment worked to build Perl, so it will
work to building RRDs.sl).  The problem is when you use a precompiled version of
Perl, which was built in an environment completely different from the system
Perl runs on.  "WriteMakefile" will remember the wrong environment and not
produce a proper Makefile causing errors which at times might be very misleading
symptoms considering the original cause of the problem.

So, how to fix this to make rrdtool build?  It has to be fixed as it will not
only bite your attempts to build RRDs.sl, other packages with Perl modules might
fail as well.  I know of two solutions:

The first one is to download the entire Perl distribution and build it on your
machine, using the same environment as you use for building rrdtool (gcc, gnu
make etc).

The second one is less disruptive and that is to edit the file Config.pm which
contains the parameters which controls "WriteMakefile".  It's located in

/opt/perl5/lib/5.6.1/PA-RISC1.1/Config.pm  (replace "/opt/perl5" with whatever
you use as your "Perl root").

It's fairly obvious what the variables do but I don't remember the exact details
of which to edit.  However, ensure that cc is set by cc='gcc' (and not cc='cc'),
osname='hpux', osvers='11.00'.  (Yes, the Perl precompiled for HP-UX 11.00 had
osvers='10.20' in it...)

A quick way to identify what variables to change is to run configure and then
check if some vital variables such as CCFLAGS, LDFLAGS etc are different in two
Makefiles rrdtool-1.0.33/src/Makefile (where the variables are OK) and
rrdtool-1.0.33/perl-shared/Makefile (where the variables might be goofy and must
be tweaked by editing Config.pm).

I've used both methods at different occasions and both helped.

So, this is a Perl thing and not a rrdtool thing.  The only thing Tobi can do to
eliviate this is to make the configure script in advance check the Perl
environment to see if it's properly setup to generate Makefiles for shared Perl
modules or not and if not, provide a description of what's wrong and suggest how
to fix it.  (Tobi started some work with configure to fix this and some other
problems but I still haven't tested those patches to configure he sent me. Being
too busy... :-/ )

Did you compile the Perl on the box yourself or have you used the precompiled
binary for HP-UX 11.00 available on the HP-UX porting and archiving center?  If
you use the precompiled version of Perl, you use a version which was built using
the HP C development tools.  If you've built the Perl environment from source
and still see this problem, then I don't know what bites you.

I admit that this situation in spite of being fully logical is remarkably
counter intuitive.  Normally downloading and installing a precompiled version of
a software packet is a GOOD thing.  And the cool feature "WriteMakefile"
normally also is a good thing...  Well, well, computers should be a challenge at
times, shouldn't they ;-).

Hope this helps and best regards

/IlvJa

>
> I am getting the following error compiling rrdtool-1.0.33
>
> ld: Can't find library for -lrrd_private
> *** Error exit code 1
>
> Any ideas????????
>
> -----Original Message-----
> From: ialbury at csc.com.au [mailto:ialbury at csc.com.au]
> Sent: Wednesday, May 09, 2001 12:28 AM
> To: slewis1 at bcbsm.com; jmetelonis at bdo.com
> Subject: compiling rrdtool on HP-UX 11.0
>
> I am having the same problem(s) with the rrd_private shared library, did
> you ever get over this problem or get any usefull help?
> I can edit the Makefile to drop the "-a shared" from the LDDLFLAGS and
> complet the "make" but I then experience other problems on the "make
> install".
>
> thanks.
>
> Ian Albury
> __________________________________________________
> CSC
> Level 3, 151 Clarence Street, Sydney NSW 2000
> Ph: +61 2 8296 2695    Email: ialbury at csc.com.au
>
> --
> Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
> Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
> Archive     http://www.ee.ethz.ch/~slist/rrd-users
> WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

--
                (Jakob Ilves) <jakob.ilves at oracle.com>
             {Oracle Global IT, Network Management Group}
[Office as well as mobile phone: +46/8/477 3666 | Fax: +46/8/477 3572]




-- Attached file removed by Listar and put at URL below --
-- Type: text/x-vcard
-- Desc: Card for Jakob Ilves
-- Size: 444 bytes
-- URL : http://www.ee.ethz.ch/~slist/pantomime/35-jakob.ilves.vcf


--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi



More information about the rrd-users mailing list