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.a
http://shr_xpg5_64.o: 332 symbols imported.
LIBRARY: Shared object libc_r.a
http://shr_64.o: 2682 symbols imported.
LIBRARY: Shared object libc_r.a
http://posix_aio_64.o: 20 symbols imported.
LIBRARY: Shared object libc_r.a
http://aio_64.o: 18 symbols imported.
LIBRARY: Shared object libc_r.a
http://pse_64.o: 5 symbols imported.
LIBRARY: Shared object libc_r.a
http://dl_64.o: 4 symbols imported.
LIBRARY: Shared object libc_r.a
http://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