[python-sybase] Sybase 12.5, Solaris and blk_alloc

John J Lee jjl at pobox.com
Tue, 9 Mar 2004 16:12:04 +0000 (GMT Standard Time)


First, is the sybase module known to work with Sybase 12.5?

We compiled it (version 0.36) on Solaris (SunOS 5.8), but got a linker
error about blk_alloc:

>>> import Sybase
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "Sybase.py", line 20, in ?
    from sybasect import *
ImportError: ld.so.1: /usr/local/bin/python: fatal: relocation error: file
./sybasect.so: symbol blk_alloc: referenced symbol not found
>>>

I notice (after having left the customer site, unfortunately) that use of
blk_alloc is conditional on HAVE_BLK_ALLOC, but since I'm new to Sybase I
have no idea what blk_alloc does, hence no idea whether it's safe to leave
it out of a build by hacking setup.py.  Any clues?

Presumably setup.py found CS_PUBLIC_BLK_ALLOC in bkpulic.h, or
HAVE_BLK_ALLOC would have been undefined, so I'm not sure why the symbol
isn't found.

> ldd sybasect.so
        libsybdb.so =>   /export/sybase/sybase_12.5/OCS-12_5/lib/libsybdb.so
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-Enterprise-10000/lib/libc_psr.so.1


nm confirms that there's no blk_alloc in
/export/sybase/sybase_12.5/OCS-12_5/lib/libsybdb.so

Thanks in advance for any help


John