Subject Again: can't install fdb
Author skoczian

trying to install fdb 0.9.9 using Python 3.3 I get the same error message as in July with 0.8.5 and Python 3.2:

D:\home\Sibylle\Downloads\setup\fdb-0.9.9>python install
Traceback (most recent call last):
File "", line 7, in
from fdb import __version__
File "D:\home\Sibylle\Downloads\setup\fdb-0.9.9\fdb\", line 23, in

from fdb.fbcore import *
File "D:\home\Sibylle\Downloads\setup\fdb-0.9.9\fdb\", line 26, in

from . import ibase
File "D:\home\Sibylle\Downloads\setup\fdb-0.9.9\fdb\", line 39, in

fb_library = WinDLL(fb_library_name)
File "c:\Python33\lib\ctypes\", line 353, in __init__
self._handle = _dlopen(self._name, mode)
TypeError: bad argument type for built-in operation

Only this time it doesn't help that fbclient.dll (64bit version)is in the Windows\system32 directory _and_ the firebird bin directory is in the path. Everything is 64bit:
Windows 7 Home Premium
Firebird 2.5.2
Python 3.3

Testing with ctypes gives quite normal results:

>>> libname_fb
'c:\\program files\\firebird\\firebird_2_5\\bin\\fbclient.dll'
>>> import ctypes
>>> fb_library = ctypes.WinDLL(libname_fb)
>>> fb_library
< WinDLL 'c:\program files\firebird\firebird_2_5\bin\fbclient.dll', handle 10000000 at 32ca0f0 >

>>> libdir_win = r"c:\windows\system32"
>>> libname_win = os.path.join(libdir_win, fbcname)
>>> win_library = ctypes.WinDLL(libname_win)
>>> win_library
< WinDLL 'c:\windows\system32\fbclient.dll', handle 3fb0000 at 33407f0 >

So what could be wrong this time?