Languages and Scripting
Showing results for 
Search instead for 
Do you mean 

C Stuff : library not linked?

Highlighted
Regular Advisor

C Stuff : library not linked?

Hi again!

I am using a program, which I compiled on HP-UX 11.23, but I am getting an error:

/usr/lib/hpux64/dld.so: Unsatisfied code symbol 'rrd_clear_error' in load module '/opt/perl5/lib/site_perl/5.8.6/IA64.ARCHREV_0-LP64/auto/RRDs/RRDs.so'.

I tried:
$ chatr RRDs.so
RRDs.so:
64-bit ELF shared library
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third -lrrd
shared library list:
libm.so.1
shared vtable support disabled
explicit unloading enabled
linkage table protection disabled
segments:
index type address flags size
6 text 4000000000000000 z---c- D (default)
7 data 6000000000000000 ---m-- D (default)
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled
nulptr references disabled
address space model: default
caliper dynamic instrumentation disabled
root@visap00:/opt/perl5/lib/site_perl/5.8.6/IA64.ARCHREV_0-LP64/auto/RRDs
$ ldd -r RRDs.so
libm.so.1 => /usr/lib/hpux64/libm.so.1
symbol not found: rrd_update_v (./RRDs.so)
symbol not found: Perl_newSVpv (./RRDs.so)
symbol not found: Perl_newSVnv (./RRDs.so)
symbol not found: Perl_newSViv (./RRDs.so)
symbol not found: Perl_newSVuv (./RRDs.so)
symbol not found: malloc (./RRDs.so)
symbol not found: PL_sv_yes (./RRDs.so)
symbol not found: Perl_sv_newmortal (./RRDs.so)
symbol not found: Perl_sv_2mortal (./RRDs.so)
symbol not found: rrd_fetch (./RRDs.so)
symbol not found: parsetime (./RRDs.so)
symbol not found: Perl_sv_setpv (./RRDs.so)
symbol not found: Perl_sv_setiv (./RRDs.so)
symbol not found: printf (./RRDs.so)
symbol not found: PL_op (./RRDs.so)
symbol not found: rrd_update (./RRDs.so)
symbol not found: proc_start_end (./RRDs.so)
symbol not found: PL_stack_sp (./RRDs.so)
symbol not found: Perl_pad_sv (./RRDs.so)
symbol not found: rrd_first (./RRDs.so)
symbol not found: Perl_newXS (./RRDs.so)
symbol not found: Perl_newHV (./RRDs.so)
symbol not found: Perl_newAV (./RRDs.so)
symbol not found: Perl_form (./RRDs.so)
symbol not found: rrd_dump (./RRDs.so)
symbol not found: Perl_hv_store_ent (./RRDs.so)
symbol not found: rrd_info (./RRDs.so)
symbol not found: rrd_test_error (./RRDs.so)
symbol not found: rrd_last (./RRDs.so)
symbol not found: rrd_freemem (./RRDs.so)
symbol not found: Perl_get_sv (./RRDs.so)
symbol not found: rrd_tune (./RRDs.so)
symbol not found: rrd_get_error (./RRDs.so)
symbol not found: free (./RRDs.so)
symbol not found: rrd_clear_error (./RRDs.so)
symbol not found: rrd_set_error (./RRDs.so)
symbol not found: rrd_graph (./RRDs.so)
symbol not found: Perl_av_push (./RRDs.so)
symbol not found: Perl_newRV_noinc (./RRDs.so)
symbol not found: Perl_stack_grow (./RRDs.so)
symbol not found: PL_markstack_ptr (./RRDs.so)
symbol not found: rrd_create (./RRDs.so)
symbol not found: PL_stack_base (./RRDs.so)
symbol not found: rrd_xport (./RRDs.so)
symbol not found: rrd_restore (./RRDs.so)
symbol not found: PL_stack_max (./RRDs.so)
symbol not found: PL_sv_undef (./RRDs.so)
symbol not found: strcmp (./RRDs.so)
symbol not found: strcpy (./RRDs.so)
symbol not found: strlen (./RRDs.so)
symbol not found: Perl_mg_set (./RRDs.so)
symbol not found: Perl_sv_2pv_nolen (./RRDs.so)
symbol not found: Perl_sv_2pv_flags (./RRDs.so)
symbol not found: Perl_croak (./RRDs.so)
symbol not found: __errno (/usr/lib/hpux64/libm.so.1)

I used gcc for compiling, GNU make, all programs that I am using were compiled with gcc in 64bit mode.
What could be the reason for this error?

I will be glad for any idea.

Thank you.