Consultor Eletrônico



Kbase P53418: undefined symbols linking ESQL/C-92 program on Linux
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/11/2003
Status: Unverified

FACT(s) (Environment):

Linux Intel

FACT(s) (Environment):

Progress 9.1D

SYMPTOM(s):

undefined symbols linking ESQL/C-92 program


test.o: In function `main':
test.o(.text+0x34): undefined reference to `tpe_get_cur_user'
test.o(.text+0x54): undefined reference to `tpe_get_cur_userpw'
test.o(.text+0x80): undefined reference to `tpe_sqlconnect'
test.o(.text+0xbc): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0xc7): undefined reference to `tpe_tm_mark_abort'
test.o(.text+0xf0): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0xfb): undefined reference to `tpe_tm_end_trans'
test.o(.text+0x128): undefined reference to `tpe_sql_disconnect'
test.o: In function `sqlquery':
test.o(.text+0x1b0): undefined reference to `tpe_sql_chk_connection'
test.o(.text+0x1ee): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x1fc): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x207): undefined reference to `tpe_set_cursor'
test.o(.text+0x239): undefined reference to `tpe_set_cursorname'
test.o(.text+0x267): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x275): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x280): undefined reference to `tpe_sqlprepare'
test.o(.text+0x2b4): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x2c2): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x2cd): undefined reference to `tpe_sqldeclare'
test.o(.text+0x300): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x30e): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x319): undefined reference to `tpe_sqlopen'
test.o(.text+0x350): undefined reference to `PRO_SQLDA_Allocate'
test.o(.text+0x373): undefined reference to `tpe_set_ptrs'
test.o(.text+0x389): undefined reference to `tpe_set_ptrs'
test.o(.text+0x3b5): undefined reference to `tpe_set_sqlda'
test.o(.text+0x3d4): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x3e2): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x3ed): undefined reference to `tpe_sqlfetch'
test.o(.text+0x422): undefined reference to `PRO_SQLDA_Deallocate'
test.o(.text+0x477): undefined reference to `tpe_get_curdbhdl'
test.o(.text+0x485): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x490): undefined reference to `tpe_sqlclose'
test.o(.text+0x4b8): undefined reference to `tpe_get_curtmhdl'
test.o(.text+0x4c3): undefined reference to `tpe_tm_end_trans'
collect2: ld returned 1 exit status
gcc -o client.exe test.o -L$SQLLIB -lesql92 -lm
returned error status 256

source code compile OK but does not link

gcc -o client.exe test.o -L$SQLLIB -lesql92 -lm

SQLLIB is not set

CAUSE:

libesqlc92.so should be linked into the executable but the link line does not have it

FIX:

Link libesqlc92.so into the executable.

SQLLIB can be set to $DLC/lib/libesql92.so prior to linking.