From: Waldemar O. <wal...@gm...> - 2005-03-15 21:41:15
|
Recently I have set up my machine for compiling pytables on WindowsXP with Python-2.4. To confirm that my environment is OK I have compiled pytables-0.9.1 and run test_all. The tests passed. Unfortunately when I have tried to compile pytables-latest from daily snapshots provided by Carabos they failed with: building 'tables.hdf5Extension' extension C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox /MD /W3 /GX /DNDEBUG -DWIN32=1 -DNDEBUG=1 -D_HDF5USEDLL_=1 -Ic:\gnu\src\hdf5\in clude -Ic:\python\python24\include -Ic:\python\python24\PC /Tcsrc/typeconv.c /Fo build\temp.win32-2.4\Release\src/typeconv.obj typeconv.c src\typeconv.c(45) : error C2036: 'void *' : unknown size src\typeconv.c(51) : warning C4013: 'lround' undefined; assuming extern returning int src\typeconv.c(62) : error C2036: 'void *' : unknown size error: command '"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe"' failed with exit status 2 I completely understand that pytables-latest is just a development version and it can fail. The only purpose of this email is to indicate that there is a potential problem. Waldemar |
From: Ivan V. i B. <iv...@ca...> - 2005-03-16 17:09:34
Attachments:
typeconv.c.diff
|
On Tue, Mar 15, 2005 at 02:40:37PM -0700, Waldemar Osuch wrote: > Recently I have set up my machine for compiling pytables on WindowsXP > with Python-2.4. > [...] > building 'tables.hdf5Extension' extension > C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox > /MD /W3 /GX /DNDEBUG -DWIN32=1 -DNDEBUG=1 -D_HDF5USEDLL_=1 -Ic:\gnu\src\hdf5\in > clude -Ic:\python\python24\include -Ic:\python\python24\PC /Tcsrc/typeconv.c /Fo > build\temp.win32-2.4\Release\src/typeconv.obj > typeconv.c > src\typeconv.c(45) : error C2036: 'void *' : unknown size > src\typeconv.c(51) : warning C4013: 'lround' undefined; assuming > extern returning int > src\typeconv.c(62) : error C2036: 'void *' : unknown size > error: command '"C:\Program Files\Microsoft Visual Studio .NET > 2003\Vc7\bin\cl.exe"' failed with exit status 2 > > I completely understand that pytables-latest is just a development > version and it can fail. > The only purpose of this email is to indicate that there is a potential problem. Thanks a lot for your mail. The pointer problems seem to be related with the strange way MSVC has to do pointer arithmetic. The missing 'lround' function is part of the C99 standard, which is not supported by MSVC. I have attached a simple patch which makes pointer arithmetic in the MS way and defines an 'lround' function if C99 is not supported. Could you please apply it to src/typeconv.c and check whether it works? I am also interested in checking that tests/test_timetype.py works right. Thanks a lot. import disclaimer -- Ivan Vilata i Balaguer >qo< http://www.carabos.com/ Cárabos Coop. V. V V Enjoy Data "" |
From: Waldemar O. <wal...@gm...> - 2005-03-17 00:25:02
Attachments:
typeconv.c.diff
|
On Wed, 16 Mar 2005 18:09:12 +0100, Ivan Vilata i Balaguer <iv...@ca...> wrote: > On Tue, Mar 15, 2005 at 02:40:37PM -0700, Waldemar Osuch wrote: > > Recently I have set up my machine for compiling pytables on WindowsXP > > with Python-2.4. > > [...] > > building 'tables.hdf5Extension' extension > > C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c /nologo /Ox > > /MD /W3 /GX /DNDEBUG -DWIN32=1 -DNDEBUG=1 -D_HDF5USEDLL_=1 -Ic:\gnu\src\hdf5\in > > clude -Ic:\python\python24\include -Ic:\python\python24\PC /Tcsrc/typeconv.c /Fo > > build\temp.win32-2.4\Release\src/typeconv.obj > > typeconv.c > > src\typeconv.c(45) : error C2036: 'void *' : unknown size > > src\typeconv.c(51) : warning C4013: 'lround' undefined; assuming > > extern returning int > > src\typeconv.c(62) : error C2036: 'void *' : unknown size > > error: command '"C:\Program Files\Microsoft Visual Studio .NET > > 2003\Vc7\bin\cl.exe"' failed with exit status 2 > > [..] > Thanks a lot for your mail. The pointer problems seem to be related > with the strange way MSVC has to do pointer arithmetic. The missing > 'lround' function is part of the C99 standard, which is not supported by > MSVC. > > I have attached a simple patch which makes pointer arithmetic in the MS > way and defines an 'lround' function if C99 is not supported. Could you > please apply it to src/typeconv.c and check whether it works? I am also > interested in checking that tests/test_timetype.py works right. > I am not a C programmer by any stretch of imagination so although your explanation seems to make sense I can not comment :-). Good news is that the patch almost worked. I had to tweak it a little to appease the MS compiler. See attached. test_timetype.py run in isolation passes all 12 tests. test_all.py is not so lucky. There is about 75 file permission errors showing during tear down but it must be something silly. I will have a look at it and report back. Waldemar |
From: Ivan V. i B. <iv...@ca...> - 2005-03-17 09:11:08
Attachments:
typeconv.c
|
On Wed, Mar 16, 2005 at 05:24:51PM -0700, Waldemar Osuch wrote: > [...] > I am not a C programmer by any stretch of imagination so although your > explanation seems to make sense I can not comment :-). > Good news is that the patch almost worked. I had to tweak it a little > to appease the MS compiler. See attached. Thank you! It seems that MSVC does not support 'inline' in plain C. The attached version tries to use the compiler-specific keyword to enable inlining for lround(). Could you please try this? > > test_timetype.py run in isolation passes all 12 tests. > test_all.py is not so lucky. There is about 75 file permission errors > showing during tear down but it must be something silly. I will have > a look at it and report back. We are having a look at that problem, and it seems you're right. We will try to fix that in a moment. ;) import disclaimer -- Ivan Vilata i Balaguer >qo< http://www.carabos.com/ Cárabos Coop. V. V V Enjoy Data "" |
From: Ivan V. i B. <iv...@ca...> - 2005-03-17 10:43:03
|
On Thu, Mar 17, 2005 at 10:10:47AM +0100, Ivan Vilata i Balaguer wrote: > [...] > Thank you! It seems that MSVC does not support 'inline' in plain C. > The attached version tries to use the compiler-specific keyword to > enable inlining for lround(). Could you please try this? We think that the issue has been finally fixed. You can find a version that will compile under MSVC by tomorrow at the downloads section in www.carabos.com. Thanks for your help! import disclaimer --=20 Ivan Vilata i Balaguer >qo< http://www.carabos.com/ C=E1rabos Coop. V. V V Enjoy Data "" |
From: Waldemar O. <wal...@gm...> - 2005-03-18 17:35:13
|
On Thu, 17 Mar 2005 11:42:30 +0100, Ivan Vilata i Balaguer <iv...@ca...> wrote: > On Thu, Mar 17, 2005 at 10:10:47AM +0100, Ivan Vilata i Balaguer wrote: > > [...] > We think that the issue has been finally fixed. [...] Thanks for amazingly fast reponses. Yes I can confirm the issues have been fixed. The latest sources from Mar 18 pass the tests OK. The errors caused by test_do_undo.py during tearDown are gone. The --heavy switch triggers two failures but I am not sure if they were there before. C:\inbox\pytables\test>c:\python\python24\python.exe test_all.py --heavy -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= PyTables version: 1.0 (alpha) Extension version: $Id: hdf5Extension.pyx 736 2005-03-15 15:34:11Z ivilata $ HDF5 version: 1.6.3-patch numarray version: 1.2.3 Zlib version: 1.2.1 Python version: 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] Byte-ordering: little -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Performing the complete test suite! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Skipping Numeric test suite -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= C:\inbox\pytables\test\tables\Leaf.py:94: UserWarning: ucl compression library i s not available. Using zlib instead!. warnings.warn( \ C:\inbox\pytables\test\tables\Leaf.py:94: UserWarning: lzo compression library i s not available. Using zlib instead!. warnings.warn( \ [...] ====================================================================== FAIL: None (test_indexes.AI5TestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\inbox\pytables\test\test_indexes.py", line 704, in test05_icounters assert table.nrows == indexedrows AssertionError ====================================================================== FAIL: None (test_indexes.AI6TestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\inbox\pytables\test\test_indexes.py", line 704, in test05_icounters assert table.nrows == indexedrows AssertionError ---------------------------------------------------------------------- Ran 2276 tests in 315.784s FAILED (failures=2) |
From: Francesc A. <fa...@ca...> - 2005-03-18 18:22:17
|
A Divendres 18 Mar=E7 2005 18:34, Waldemar Osuch va escriure: > Yes I can confirm the issues have been fixed. > The latest sources from Mar 18 pass the tests OK. The errors caused > by test_do_undo.py during tearDown are gone. Excellent. > The --heavy switch triggers two failures but I am not sure if they > were there before. These turned out to be bugs in the test_indexes.py itself actually. The fix has been uploaded and should appear in the nightly tarball by tomorrow. Thanks for reporting this out and for thoughtfully testing PyTables on Windows platforms. Cheers, =2D-=20 >qo< Francesc Altet =A0 =A0 http://www.carabos.com/ V =A0V C=E1rabos Coop. V. =A0=A0Enjoy Data "" |