91
General Discussions / Re: ISAM - An appeal
« Last post by Support on December 18, 2016, 11:51:32 PM »I got a little farther with the following change to interface.c for the BDB extension module.
jrs@jrs-laptop:~/sb/source/extensions/bdb$ make -B
gcc -O2 -w -m64 -fPIC -DSTATIC_LINK=1 -c -o /home/jrs/sb/source/bin/mod/obj/bdb/s_interface.o interface.c
ar -r /home/jrs/sb/source/bin/mod/lib/bdb.a /home/jrs/sb/source/bin/mod/obj/bdb/s_interface.o
gcc -O2 -w -m64 -fPIC -c -o /home/jrs/sb/source/bin/mod/obj/bdb/interface.o interface.c
ld -shared -fPIC -o /home/jrs/sb/source/bin/mod/dll/bdb.so /home/jrs/sb/source/bin/mod/obj/bdb/interface.o /usr/lib/libdb.a
ld: /usr/lib/libdb.a(db_method.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libdb.a: error adding symbols: Bad value
makefile:13: recipe for target '/home/jrs/sb/source/bin/mod/dll/bdb.so' failed
make: *** [/home/jrs/sb/source/bin/mod/dll/bdb.so] Error 1
jrs@jrs-laptop:~/sb/source/extensions/bdb$
This looks to me that the BerkleyDB db_method needs a Makefile change to work as a shared object.
I have spent as much time as I can on this and will leave it in AlyssonR's hands to unravel.
Code: C
- // X("bdb.limits.mp_size" ,mp_size)
- X("bdb.limits.mp_size" ,set_cachesize)
jrs@jrs-laptop:~/sb/source/extensions/bdb$ make -B
gcc -O2 -w -m64 -fPIC -DSTATIC_LINK=1 -c -o /home/jrs/sb/source/bin/mod/obj/bdb/s_interface.o interface.c
ar -r /home/jrs/sb/source/bin/mod/lib/bdb.a /home/jrs/sb/source/bin/mod/obj/bdb/s_interface.o
gcc -O2 -w -m64 -fPIC -c -o /home/jrs/sb/source/bin/mod/obj/bdb/interface.o interface.c
ld -shared -fPIC -o /home/jrs/sb/source/bin/mod/dll/bdb.so /home/jrs/sb/source/bin/mod/obj/bdb/interface.o /usr/lib/libdb.a
ld: /usr/lib/libdb.a(db_method.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libdb.a: error adding symbols: Bad value
makefile:13: recipe for target '/home/jrs/sb/source/bin/mod/dll/bdb.so' failed
make: *** [/home/jrs/sb/source/bin/mod/dll/bdb.so] Error 1
jrs@jrs-laptop:~/sb/source/extensions/bdb$
This looks to me that the BerkleyDB db_method needs a Makefile change to work as a shared object.
I have spent as much time as I can on this and will leave it in AlyssonR's hands to unravel.