/usr/local/morph3/api/libntexis.a(texiscl.o)(.text+0x174d): In function `ncg_start':
: undefined reference to `TXinitapp'
/usr/local/morph3/api/libntexis.a(texiscl.o)(.text+0x3f6c): In function `newindirect':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(ezsock.o)(.text+0x110c): In function `ezsvc2int':
: undefined reference to `__ctype_b'
Looks like GNU changed the standard to darkness again with libc 2.3. Until texis gets rebuilt using that version of glibc the only workaround we know of is to get the libs from our ftp server ftp://ftp.thunderstone.com/pub/linux/
Change the cc options
-lm -lcrypt -ldl -lpthread
to
libm.so.6 libcrypt.so.1 libdl.so.2 libpthread.so.0 libc.so.6 ld-linux.so.2
FYI, the old libs are not needed to run once the linking is done (just like the bundled texis binaries). GNU does have back compatibility on the compiled binaries.
I have one more issue.
I compiled a simple pgm and ran it. Worked fine. But, when I ran it through valgrind, a memory profiler, I got the following message (indicating a leak, the stack trace has been provided),
40 bytes in 1 blocks are definitely lost in loss record 4 of 5
==17630== at 0x1B9053F9: calloc (vg_replace_malloc.c:176)
==17630== by 0x8060D5A: tspailst (in /home/skalyanaraman/testsql/testqry)
==17630== by 0x8057330: n_fldnames (in /home/skalyanaraman/testsql/testqry)
==17630== by 0x8050CB4: n_getitx (in /home/skalyanaraman/testsql/testqry)
==17630== by 0x805C176: vgettsql (in /home/skalyanaraman/testsql/testqry)
==17630== by 0x805C265: n_gettsql (in /home/skalyanaraman/testsql/testqry)
==17630== by 0x804B7B8: main (testqry.c:29)
I am calling n_gettsql(), here is my program:
int main(int argc, char* argv[])
{
SERVER *se;
TSQL *ts;
char* selectstr = "select DOCID from documenttext where DOCTEXT like %s;";
char* query;
char* database = "/home/skalyanaraman/database/testdb";
int* docid;
Are you compiling client/server or with with NCGDIRECT?
And which do you really want? Do you want to be able to communicate with texis on other computers (client/server) or just directly with databases on the local computer (NCGDIRECT)?
I would want to communicate on local server, no need for network access. I thought, there is no way to run queries intelligently (i.e. using indexes) using direct API.
That is why I did a client/server and used localhost.