[rrd-users] SOLVED: rrdtool-1.0.28 on HP-UX 11.00 successful compilation!

Jakob Ilves jakob.ilves at oracle.com
Tue Nov 28 14:51:34 MET 2000


Hello!

(IMPORTANT NOTE TO HP-UX 10.20 USERS: Sorry for not solving the "lib not
found" problem you run into on building rrdtool-1.0.28.  That problem do
not appear in neither of the two HP-UX 11.00 environments I've built
rrdtool-1.0.28 on.  What I don't know is if the below problem appears on
HP-UX 10.20, once you manage to get rrdtool-1.0.28 built on it.  If it
do, the solution below hopefully works).

THE PROBLEM

I've managed to make rrdtool-1.0.28 to work on HP-UX 11.00.  Actually,
the three steps

./configure
make
make install

runs successfully and the rrdtool executable being the result works,
except for dumping core whenever a PNG is requested (the GIFs are
created without fuzz, except for the fact they are entirely
uncompressed, i.e much larger than necessary...)

THE EASY WORK AROUND

To solve the PNG problem, I ran this procedure when building rrdtool:

./configure
[ Edited the file rrdtool-1.0.28/zlib-1.1.3/Makefile and replace the
"-fPIC" with "-fpic"]
make
make install

After that easy fix, rrdtool successfully produces PNG:s without any
complaints.

I tried to find out what to change to make sure that the configure
script, on HP-UX 11.00 (and perhaps also on HP-UX 10.20) generated a
Makefile in rrdtool-1.0.28/zlib-1.1.3 which has "-fpic" instead of
"-fPIC" but I gave up (I'm assured Tobi knows how to find his way around
in the files to accomplish that :-).

THE CAUSE OF THE PROBLEM

Short description:  On HP-UX 11.00, the zlib-1.1.3 package will not work
properly after being compiled with the flag "-fPIC" in gcc.  The code
will dump core due to segmentation fault when trying to compress data.
If the package is compiled with "-fpic" it will work.  It also works if
neither "-fpic" nor "-fPIC" is specified.

Longer description:  The zlib package is used by rrdtool-1.0.28, which
in turn tries to create a shared library (so Perl for instance might
access the rrdtool functions).  For this to work properly, the zlib
package must be compiled so the resulting code is "Position Independent
Code" (PIC).  This is achieved by specifying "-fpic" or "-fPIC".

"-fpic" creates code which do not use the Unix "long jumps" (if I've got
it right, that is ;-).
"-fPIC" creates code which DO use "long jumps".

"-fpic" poses a size constraint on the library (if it get's too large,
it grows beyond it's own codes maximum addressing range and all code
cannot reach all other code...).  How big the constraint probably is
architecture dependant.  "-fPIC" poses a small performance degredation
but has no constraint on the size of the library.  For obvious reasons,
libtool (which the rrdtool distribution relies on for managing the
building of the libraries) prefers "-fPIC" to get the code position
independent.  It SHOULD work as well for zlib-1.1.3 being compiled by
gcc on HP-UX 11.00.  Why it doesn't, I don't know.  I'll submit a bug
report to the zlib maintainers some day.  Perhaps it is a problem with
gcc 2.5.2 or HP-UX 11.00 itself...




--
                (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]
         - Intranet Home Page: http://jilves.se.oracle.com -



-- 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/23-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