I also ran 'nm' on nsdbtds.so and found that there are two symbols for tds_free_connection
: One of them is reporting Undefined. It looks like somehow the linker is not resolving it.
root@02c71ac2c2ba:/usr/local/src/nsdbtds# nm nsdbtds.so | grep tds_free_
0000000000009ba0 t tds_free_all_results
000000000000bec0 t tds_free_bcp_column_data
0000000000009330 t tds_free_bcp_column_data.part.0
000000000000bf70 t tds_free_bcpinfo
0000000000009220 t tds_free_column
000000000000a2d0 t tds_free_connection
U tds_free_connection
0000000000009db0 t tds_free_context
0000000000009620 t tds_free_input_params
000000000000ad20 t tds_free_locale
00000000000092f0 t tds_free_locale.part.0
000000000000a7e0 t tds_free_login
000000000000ad40 t tds_free_msg
000000000000c830 t tds_free_namelist
000000000000aad0 t tds_free_packets
00000000000097a0 t tds_free_param_result
0000000000009b10 t tds_free_param_results
0000000000009b80 t tds_free_results
0000000000009350 t tds_free_results.part.0
0000000000009b30 t tds_free_row
000000000000ad00 t tds_free_socket
000000000000a490 t tds_free_socket.part.0
I removed the following line from nsdbtds.c
and this gets rid of the linking problem. And things appear to work now in naviserver;) But I fear that this is probably a memory leak that I just created.
/* tds_free_connection(connect); */
Thoughs?