Hi Francesc,

On 5/22/2010 5:52 AM, Francesc Alted wrote:
> Hi Christoph,
>
> 2010/5/21 Christoph Gohlke <cgoh...@uci.edu <mailto:cgoh...@uci.edu>>
>
>     Dear PyTables developers,
>
>     I ran into two problems with 64-bit tables-2.2rc1.win-amd64-py2.6.
>     Pytables and all its dependencies were built from sources using Visual
>     Studio 2008. There were no build errors. Part of the test_all.py output
>     is attached.
>
>     1) Even though the bzip2 and lzo libraries are present and apparently
>     linked to the pyd extensions, filters.py claims that those compression
>     methods are not available.
>
>
> There could be a couple of reasons for this:
>
> 1.- Python 64-bit on Win64 does not  assert os.name <http://os.name> ==
> 'nt'.  In case os.name <http://os.name> is different than 'nt', you may
> want to update the line 283 in setup.py:


os.name == 'nt' is True on 32 and 64-bit Python for Windows (except when 
run on cygwin)


>
> 2.- In order to load DLLs, PyTables uses a the `LoadLibrary` function to
> check whether the DLL is available or not (see `getLibrary` function in
> src/utils.c for details).  Perhaps `LoadLibrary` Win call does not work
> the same in Python 64/Win 64?


Thanks for the hint. Turns out that the 64 bit DLL name is "libbz2" on 
my system, while utilsExtension.pyx hard-codes the name "bzip2". Also, 
while "import tables._comp_lzo" succeeds, LoadLibrary("lzo2") does not 
because the Python\Lib\site-packages\tables directory, where I place the 
DLLs, is not in the system path. Easy to fix...


>
>     2) Many (all?) hdf5 file write operations fail during the tests. Dozens
>     of h5 files are created in the %TEMP% directory before the python
>     process would eventually crash in hdf5dll.dll.
>
>     For comparison, the 32-bit version, tables-2.2rc1.win32-py2.6, built
>     from exactly the same sources, passes all tests and bzip2 and lzo are
>     getting used.
>
>     I have tried the following without success:
>
>     1) using the official HDF5 1.8.4-patch1 libraries and DLLs
>     2) using a 64 bit pthreads patch from
>     http://old.nabble.com/Pthreads-64bit-patches-td27399857.html
>     3) test the binaries on another Windows 7 computer.
>
>     I read that the hdf write problem might be due to a zlib/hdf5 version
>     mismatch. However, the hdf5 binaries test OK and do work with the h5py
>     and netcdf4 packages.
>
>
> To say the truth, I don't know what is happening here.  Could you try
> running a single example (say, `examples/table1.py`), and switch
> compression on and off?  Please, could you also try with zlib, lzo and
> blosc to see if there is any difference? That could shed some light on
> what is going on.


I ran examples/table1.py with no compression, zlib, lzo, blosc, and 
bzip2 just fine.

I have recompiled everything using the following version, but the tests 
still fail as before. Zlib shows as version 1.2.3 (that's what Python is 
using internally) event though I am now linking against 1.2.5.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
PyTables version:  2.2rc1
HDF5 version:      1.8.5-pre1
NumPy version:     2.0.0.dev8426
Numexpr version:   1.3.1 (not using Intel's VML/MKL)
Zlib version:      1.2.3
LZO version:       2.03 (Apr 30 2008)
BZIP2 version:     1.0.5 (10-Dec-2007)
Blosc version:     0.9.0 (2010-05-04)
Python version:    2.7b2 (r27b2:81019, May  9 2010, 10:33:25) [MSC 
v.1500 64 bit (AMD64)]
Byte-ordering:     little
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

The following examples fail/crash:

array1.py
array3.py
array4.py
attributes1.py
table-tree.py
tutorial1-1.py
tutorial1-2.py
tutorial3-1.py
tutorial3-2.py
undo-redo.py


--
Christoph

------------------------------------------------------------------------------

_______________________________________________
Pytables-users mailing list
Pytables-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to