Thread: Compiling with unixodbc support

Compiling with unixodbc support

From
Adrian Klaver
Date:
I posted earlier about not being able to get the psql-ODBC driver to compile
with unixODBC support.By moving the unixODBC/include directory into the
psqlODBC directory I have managed to get the make process to almost complete.
The problem arises at the very end when I get the following message:

.....gcc -shared  info.lo bind.lo columninfo.lo connection.lo convert.lo
drvconn.lo environ.lo execute.lo lobj.lo win_md5.lo misc.lo options.lo
pgtypes.lo psqlodbc.lo qresult.lo results.lo socket.lo parse.lo statement.lo
tuple.lo tuplelist.lo dlg_specific.lo odbcapi.lo multibyte.lo gpps.lo
-lodbcinst  -Wl,-soname -Wl,psqlodbc.so -o .libs/psqlodbc.so
/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld:
cannot find -lodbcinst
collect2: ld returned 1 exit status
make[1]: *** [psqlodbc.la] Error 1
make[1]: Leaving directory `/tmp/psqlodbc-7.2.5'
make: *** [all] Error 2

Any clues as how to get from here  would be wonderful.
SuSE 8.1
Postgres 7.3.2
psqlODBC 7.2.5
unixODBC 2.2.5

    Thank you
    Adrian Klaver


Re: Compiling with unixodbc support

From
Giuliano Gavazzi
Date:
At 18:51 -0800 2003/03/22, Adrian Klaver wrote:
[...]
>The problem arises at the very end when I get the following message:
>
>.....gcc -shared  info.lo bind.lo columninfo.lo connection.lo convert.lo
>drvconn.lo environ.lo execute.lo lobj.lo win_md5.lo misc.lo options.lo
>pgtypes.lo psqlodbc.lo qresult.lo results.lo socket.lo parse.lo statement.lo
>tuple.lo tuplelist.lo dlg_specific.lo odbcapi.lo multibyte.lo gpps.lo
>-lodbcinst  -Wl,-soname -Wl,psqlodbc.so -o .libs/psqlodbc.so
>/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld:
>cannot find -lodbcinst
>collect2: ld returned 1 exit status
>make[1]: *** [psqlodbc.la] Error 1
>make[1]: Leaving directory `/tmp/psqlodbc-7.2.5'
>make: *** [all] Error 2
>
>Any clues as how to get from here  would be wonderful.

you have to find the location of the libodbcinst.something file. Use
locate (man locate). It must be where the unixodbc files are
installed. Then you can specify an additional library path with the
-L option (IFRW).

Giuliano