[rrd-users] Compiling RRD 1.2.23 AIX 5.3 with xlC v8 problems.

M.P.Leeuwen01 at rn.rabobank.nl M.P.Leeuwen01 at rn.rabobank.nl
Wed Sep 19 10:08:54 CEST 2007


Hello,

I'm trying to get RRD 1.2.23 compiled under AIX 5.3.

I've followed the instructions in the doc/rrdbuilt.txt

Using the seperate build directory, installing the zLib (1.2.3),  Libpng
1.2.20, Freetype 2.3.5, libart-lgpl 2.3.17.

After that I run the configure on rrd with the options: --disable-python
--disable-tcl --disable-ruby.

The configure runs fine but when I start the make, during the
compilation it crashes.

When I configure with the above and --enable-static --disable-phtread it
stops on the rrdcgi.c

rrd_cgi.c: In function 'main':
rrd_cgi.c:422: warning: format '%d' expects type 'int', but argument 2
has type 'size_t'
rrd_cgi.c: In function 'rrdcgiReadVariables':
rrd_cgi.c:1290: warning: comparison between signed and unsigned
        /bin/sh ../libtool --tag=CC --mode=link gcc  -O3
-fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wshadow -Wpointer-arith
-Wcast-align -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Winline -W  -DPIC
-L/opt/rrd/data/source/buildir/lb/lib -o rrdcgi  rrd_cgi.o librrd.la
gcc -O3 -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wshadow
-Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Winline -W -DPIC -o .libs/rrdcgi rrd_cgi.o
-L/opt/rrd/data/source/buildir/lb/lib -L./.libs -lrrd -lz -lm
-Wl,-blibpath:/usr/local/rrdtool/lib:/opt/rrd/data/source/buildir/lb/lib
:/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.0.0:/opt/freeware/lib/gc
c/powerpc-ibm-aix5.3.0.0/4.0.0/../../..:/usr/lib:/lib
ld: 0711-317 ERROR: Undefined symbol: .rrd_set_error
ld: 0711-317 ERROR: Undefined symbol: .parsetime
ld: 0711-317 ERROR: Undefined symbol: .proc_start_end
ld: 0711-317 ERROR: Undefined symbol: .readfile
ld: 0711-317 ERROR: Undefined symbol: .rrd_test_error
ld: 0711-317 ERROR: Undefined symbol: .rrd_get_error
ld: 0711-317 ERROR: Undefined symbol: .rrd_clear_error
ld: 0711-317 ERROR: Undefined symbol: .getopt_long
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
collect2: ld returned 8 exit status
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


I disabled the rrdcgi with the option --disable-rrdcgi
 
After that it stops at:
 
        cd perl-shared && make
cp RRDs.pm blib/lib/RRDs.pm
cp ntmake.pl blib/lib/ntmake.pl
        /usr/local/bin/perl -e 'use ExtUtils::Mksymlists;
Mksymlists("NAME" => "RRDs", "DL_FUNCS" => {  }, "FUNCLIST" => [],
"DL_VARS" => []);'
        /usr/local/bin/perl /usr/opt/perl5/lib/5.8.2/ExtUtils/xsubpp
-typemap /usr/opt/perl5/lib/5.8.2/ExtUtils/typemap  RRDs.xs > RRDs.xsc
&& mv RRDs.xsc RRDs.c
        cc_r -c  -I../../src  -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O
-DVERSION=\"1.2023\"  -DXS_VERSION=\"1.2023\"
"-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"  -DPERLPATCHLEVEL=8
RRDs.c
Running Mkbootstrap for RRDs ()
        chmod 644 RRDs.bs
        rm -f blib/arch/auto/RRDs/RRDs.so
        LD_RUN_PATH="" ld  -bhalt:4 -bM:SRE
-bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:RRDs.exp
-bnoentry -lpthreads -lc_r RRDs.o -L../../src/.libs/
-Wl,-blibpath:/usr/local/rrdtool/lib -lrrd -lm -o
blib/arch/auto/RRDs/RRDs.so
ld: 0706-012 The -W flag is not recognized.
ld: 0706-006 Cannot find or open library file: -l
,-blibpath:/usr/local/rrdtool/lib
        ld:open(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255
 
I've noticed that the -W option is parsed to LD. (At
Bindings/perl-shared)
When I remove the -w option from the Makefile the compilation continues.
BUT:
 
Making all in bindings
        cd perl-piped && make
        cd perl-shared && make
        cc_r -c  -I../../src  -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O
-DVERSION=\"1.2023\"  -DXS_VERSION=\"1.2023\"
"-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"  -DPERLPATCHLEVEL=8
RRDs.c
Running Mkbootstrap for RRDs ()
        chmod 644 RRDs.bs
        rm -f blib/arch/auto/RRDs/RRDs.so
        LD_RUN_PATH="" ld  -bhalt:4 -bM:SRE
-bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:RRDs.exp
-bnoentry -lpthreads -lc_r RRDs.o -L../../src/.libs/
-l,-blibpath:/usr/local/rrdtool/lib -lrrd -lm -o
blib/arch/auto/RRDs/RRDs.so
ld: 0706-006 Cannot find or open library file: -l
,-blibpath:/usr/local/rrdtool/lib
        ld:open(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.
 
 
Stops at the perl-shared.
I tried it with: --disable-python --disable-tcl --disable-ruby
--disable-rrdcgi also.
Then it stops, also at perl-shared and perl-piped.
 
 
After searching the google I found some extra settings:
 
export CC=/usr/vac/bin/cc
export PERLCC=$CC
 
I deleted the old source dir and unpacked the rrdtool.tar.
 
 
Run the ./configure with the same options: --disable-python
--disable-tcl --disable-ruby 
But this time left the --disable-rrdcgi --enable-static
--disable-phtread out.
 
/usr/vac/bin/cc -O3 -DPIC -qfloat=nofold -o rrdupdate rrdupdate.o
-L/opt/rrd/data/source/buildir/lb/lib ./.libs/librrdupd.a -lm
        source='rrd_cgi.c' object='rrd_cgi.o' libtool=no  DEPDIR=.deps
depmode=aix /bin/sh ../depcomp  /usr/vac/bin/cc -DHAVE_CONFIG_H -I. -I.
-I..
-DRRD_DEFAULT_FONT=\"/usr/local/rrdtool/share/rrdtool/fonts/DejaVuSansMo
no-Roman.ttf\" -DNUMVERS=1.2023
-I/opt/rrd/data/source/buildir/lb/include
-I/opt/rrd/data/source/buildir/lb/include/libart-2.0
-I/opt/rrd/data/source/buildir/lb/include/freetype2
-I/opt/rrd/data/source/buildir/lb/include/libpng -D_THREAD_SAFE
-I/usr/include/libart-2.0 -I/usr/include/freetype2  -O3  -DPIC
-qfloat=nofold -c rrd_cgi.c
        /bin/sh ../libtool --tag=CC --mode=link /usr/vac/bin/cc  -O3
-DPIC -qfloat=nofold   -L/opt/rrd/data/source/buildir/lb/lib -o rrdcgi
rrd_cgi.o librrd.la
/usr/vac/bin/cc -O3 -DPIC -qfloat=nofold -o .libs/rrdcgi rrd_cgi.o
-L/opt/rrd/data/source/buildir/lb/lib -L./.libs -lrrd -lz -lm
-Wl,-blibpath:/usr/local/rrdtool/lib:/opt/rrd/data/source/buildir/lb/lib
:/usr/vac/lib:/usr/lib:/lib
ld: 0711-317 ERROR: Undefined symbol: .rrd_get_error
ld: 0711-317 ERROR: Undefined symbol: .rrd_clear_error
ld: 0711-317 ERROR: Undefined symbol: .rrd_test_error
ld: 0711-317 ERROR: Undefined symbol: .parsetime
ld: 0711-317 ERROR: Undefined symbol: .proc_start_end
ld: 0711-317 ERROR: Undefined symbol: .rrd_set_error
ld: 0711-317 ERROR: Undefined symbol: .getopt_long
ld: 0711-317 ERROR: Undefined symbol: .readfile
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make: 1254-004 The error code from the last command is 8.

Tried again tistime disabling the rrdcgi.
cc RPATH=/usr/local/rrdtool/lib
Checking if your kit is complete...
Looks good
Writing Makefile for RRDs
        cd perl-shared && make
cp RRDs.pm blib/lib/RRDs.pm
cp ntmake.pl blib/lib/ntmake.pl
        /usr/local/bin/perl -e 'use ExtUtils::Mksymlists;
Mksymlists("NAME" => "RRDs", "DL_FUNCS" => {  }, "FUNCLIST" => [],
"DL_VARS" => []);'
        /usr/local/bin/perl /usr/opt/perl5/lib/5.8.2/ExtUtils/xsubpp
-typemap /usr/opt/perl5/lib/5.8.2/ExtUtils/typemap  RRDs.xs > RRDs.xsc
&& mv RRDs.xsc RRDs.c
        /usr/vac/bin/cc -c  -I../../src  -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O
-DVERSION=\"1.2023\"  -DXS_VERSION=\"1.2023\"
"-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"  -DPERLPATCHLEVEL=8
RRDs.c
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 619.16:
1506-007 (S) "struct drand48_data" is undefined.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 727.16:
1506-007 (S) "struct random_data" is undefined.
"/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/reentr.h", line 775.16:
1506-007 (S) "struct random_data" is undefined.
make: 1254-004 The error code from the last command is 1.
 

Stop.
make: 1254-004 The error code from the last command is 2.
 

Tis didn't work either.
 
Tried it again with --disable-pthread.:
 
No avail.
 
Set the CC to /usr/vac/bin/cc_R
 
tried again....
 
It stoped at compiling rrdcgi.c
 
 
Anyone succesfully build the RRD tool under AIX 5.3 ?
I would like to include the multi-threading feature.
As you can see, I've tried using gcc AND xlC to compile rrd.. ;)
 
Any suggestions would be greatly appriciated.
 
 
Note:
I have perl 5.8.2 installed.
 
Perl -V output :
 
Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
  Platform:
    osname=aix, osvers=5.2.0.0, archname=aix-thread-multi
    uname='aix perlfly 2 5 000ad7df4c00 '
    config_args=''
    hint=previous, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-q32 -D_LARGE_FILES -qlonglong',
    optimize='-O',
    cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384
-qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias
-DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong
-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384
-qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32
-D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE
-qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-q32 -D_LARGE_FILES -qlonglong'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -brtl -b32 -bmaxdata:0x80000000'
    libpth=/lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd
-lPW
    perllibs=-lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd
-lPW
    libc=/lib/libc.a, so=a, useshrplib=true, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp
-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp
-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp
-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp'
    cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp
-bE:$(BASEEXT).exp -bnoentry -lpthreads -lc_r'
 

Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Built under aix
  Compiled at Feb 13 2004 13:18:17
  @INC:
    /usr/opt/perl5/lib/5.8.2/aix-thread-multi
    /usr/opt/perl5/lib/5.8.2
    /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi
    /usr/opt/perl5/lib/site_perl/5.8.2
    /usr/opt/perl5/lib/site_perl


Regards, 

Martijn van Leeuwen | NSM/RC-Unix | Directoraat Groep ICT Rabobank


 

================================================
De informatie opgenomen in dit bericht kan vertrouwelijk zijn en 
is uitsluitend bestemd voor de geadresseerde. Indien u dit bericht 
onterecht ontvangt, wordt u verzocht de inhoud niet te gebruiken en 
de afzender direct te informeren door het bericht te retourneren. 
Rabobank Nederland is een handelsnaam van de Cooperatieve 
Centrale Raiffeisen-Boerenleenbank B.A.Rabobank Nederland 
staat ingeschreven bij de K.V.K. onder nr. 30046259
================================================
The information contained in this message may be confidential 
and is intended to be exclusively for the addressee. Should you 
receive this message unintentionally, please do not use the contents 
herein and notify the sender immediately by return e-mail.
Rabobank Nederland is a trade name of Cooperatieve Centrale 
Raiffeisen-Boerenleenbank B.A. Rabobank Nederland is registered 
by the Chamber of commerce under nr. 30046259
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.oetiker.ch/pipermail/rrd-users/attachments/20070919/a365d2bb/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 145 bytes
Desc: not available
Url : http://lists.oetiker.ch/pipermail/rrd-users/attachments/20070919/a365d2bb/attachment-0001.gif 


More information about the rrd-users mailing list