Menu

can not use command csql

Developers
Liu Bin
2010-03-12
2013-05-15
  • Liu Bin

    Liu Bin - 2010-03-12

    Hey, i install csql and i can start the server,
    but when i use the csql in the console ,there comes the problem:
    "symbol lookup error: /usr/lib/libreadline.so.5: undefined symbol: PC"
    i've googled but i can not find the solution,
    this is a libreadline.so.5.1 in this dir and libreadline.so.5 link to the file
    can tell me how can i fix the problem? thx~

     
  • Liu Bin

    Liu Bin - 2010-03-15

    when i build the src.
    i get the error as follows:
    g++ -O2 -I/usr/java/jdk1.6.0_18/include -I/usr/java/jdk1.6.0_18/include/linux -o .libs/csql isql.o  -lrt -lpthread -lcrypt -lreadline ../../src/storage/.libs/libcsql.so ../../src/sql/.libs/libcsqlsql.so ../../src/sqllog/.libs/libcsqlsqllog.so ../../src/network/.libs/libcsqlnw.so ../../src/adapter/.libs/libcsqlodbcadapter.so ../../src/gateway/.libs/libcsqlgw.so ../../src/cache/.libs/libcacheload.so -lodbc ../../src/sqlnetwork/.libs/libcsqlsqlnw.so  -Wl,-rpath -Wl,/home/csql/csql3.0-src/install/lib
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `PC'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetflag'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetent'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `UP'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tputs'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgoto'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetnum'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `BC'
    /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so: undefined reference to `tgetstr'

    how can i fix it?

     
  • Kishor Amballi

    Kishor Amballi - 2010-07-28

    Hi,
    Sorry for the late reply.

    Try linking -lcurses also with libreadline in src/tools/Makefile.am.full

    by changing the line

    csql_LDFLAGS = -lrt -lpthread -lcrypt -lodbc -lreadline

    to

    csql_LDFLAGS = -lrt -lpthread -lcrypt -lodbc -lreadline -lcurses

    Let me know if this does not solve the problem.

    Cheers
    Kishor

     
  • Kishor Amballi

    Kishor Amballi - 2010-07-30

    If you checkout using CSQL anonymously now you will get the latest CSQL which should build and work correctly for the above problem. 

    The above problem is because for some of the linux versions libreadline.so is not linked against libcurses.so,  as that needs to be done manually.

    Its fixed in the latest updated source.

     

Log in to post a comment.