AIX

AIX

Connect with fellow AIX users and experts to gain knowledge, share insights, and solve problems.


#Power
 View Only

Compile Error for DB_File perl module

  • 1.  Compile Error for DB_File perl module

    Posted Mon May 09, 2011 02:52 PM

    Originally posted by: GlennBrown


    I am trying to build DB_File perl module on a AIX 5.3 box.

    I have built and installed BerkeleyDB 4.8, it is installed at /usr/local/BerkeleyDB.

    When I attempt to build the module, this is what I receive.

    code
    Running Mkbootstrap for DB_File ()
    chmod 644 DB_File.bs
    rm -f blib/arch/auto/DB_File/DB_File.so
    ld -b64 -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/perl.exp -bE:DB_File.exp -bnoentry -lpthreads -lc_r version.o DB_File.o -o blib/arch/auto/DB_File/DB_File.so -L/usr/local/BerkeleyDB/lib -ldb -lpthread
    ld: 0711-317 ERROR: Undefined symbol: .db_version
    ld: 0711-317 ERROR: Undefined symbol: .db_create
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make: The error code from the last command is 8.
    [/code]

    If I expand on that and add -bnoquiet this is the output produced...

    code
    etlq101bvaa:/patchn/shareware/perl-modules/DB_File-1.822>ld -bnoquiet -b64 -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/p>
    (ld): setopt 64
    (ld): halt 4
    (ld): setfflag 4
    (ld): savename blib/arch/auto/DB_File/DB_File.so
    (ld): filelist 5 3
    (ld): setopt noprogram
    (ld): noentry
    NOENTRY: There is no entry point.
    (ld): lib /usr/lib/libpthreads.a
    (ld): lib /usr/lib/libc_r.a
    (ld): i version.o
    (ld): i DB_File.o
    (ld): lib /usr/local/BerkeleyDB/lib/libdb.a
    LIBRARY: Shared object libpthreads.ahttp://shr_xpg5_64.o: 332 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://shr_64.o: 2682 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://posix_aio_64.o: 20 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://aio_64.o: 18 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://pse_64.o: 5 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://dl_64.o: 4 symbols imported.
    LIBRARY: Shared object libc_r.ahttp://pty_64.o: 1 symbols imported.
    FILELIST: Number of previously inserted files processed: 5
    (ld): imports /usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/perl.exp
    IMPORTS: Symbols imported from import file /usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/perl.exp: 1196
    (ld): exports DB_File.exp
    EXPORTS: Symbols exported: 1
    (ld): resolve
    RESOLVE: 216 of 4831 symbols were kept.
    (ld): addgl /usr/lib/glink64.o
    ADDGL: Glink code added for 62 symbols.
    (ld): er full
    ld: 0711-318 ERROR: Undefined symbols were found.
    The following symbols are in error:
    Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
    RLD: Address Section Rld-type Referencing Symbol

    .db_version 24 ER PR version.c(version.o)
    0000008c .text R_RBR [6] .__getBerkeleyDBInfo
    .db_create 328 ER PR DB_File.c(DB_File.o)
    0000ae14 .text R_RBR 70 <.ParseOpenInfo>
    ER: The return code is 8.
    [/code]

    A string of /usr/local/BerkeleyDB/lib/libdb.a reveals both items appear to be there, but I don't understand why it can't resolve them.

    Any ideas on how to trace this down?
    #AIX-Forum