From: Stephen R. <ste...@an...> - 2013-04-03 20:18:55
|
Hi Joaquim, Looks like you are getting very close to success. The error you are getting with the test_all.py is related to the code in damage_modelling\inundation_damage.py using the Scientific Python interpolation function. I didn't realise that any other part of Scientific python (other than the netcdf module) was used in anuga. I think (as long as you don't use any facilities from the anuga.damage_modelling module) it would be ok to exclude testing that directory. You add a directory to be excluded from the tests by adding the that directory name to the "excluded_dirs" list in the test_all.py script in the anuga directory (not the one in anuga_core). Then hopefully the other tests will succeed. Cheers Steve On 4/04/2013 4:15 AM, Joaquim Luis wrote: > Steve, > > The problem must revolve about that issue but it's not so > straightforward. I am using 64 bits version of both gcc and python > (portable versions are wonderful for that), see > > /c/SVN/anuga_core> gcc -v > Using built-in specs. > COLLECT_GCC=C:\MinGW\MinGW-w64_64_bit\bin\gcc.exe > COLLECT_LTO_WRAPPER=c:/mingw/mingw-w64_64_bit/bin/../libexec/gcc/x86_64-w64-mingw32/4.7.2/lto-wrapper.exe > Target: x86_64-w64-mingw32 > > /c/SVN/anuga_core> python --h > Unknown option: -- > usage: c:\programs\WinPython2.7.3_64\python-2.7.3.amd64\python.exe > [option] ... [-c cmd | -m mod | file | -] [arg] ... > > So I tried by including the referred chunk of modsupport.h in one of > the complaining codes, and the result was the same (I mean the same error) > |#if SIZEOF_SIZE_T != SIZEOF_INT > #define Py_InitModule4 Py_InitModule4_64 > #endif| > > at this point I would say that the problem lies on the SIZEOF_SIZE_T > or SIZEOF_INT macros > Indeed, if do it this way (and insert it in all complaining .c) than > I'm able to compile till the end > > #if !defined(Py_InitModule4) > #define Py_InitModule4 Py_InitModule4_64 > #endif > > However, running the tests fail with > > Traceback (most recent call last): > File "test_all.py", line 13, in <module> > --verbose same as above > File "test_all.py", line 224, in <module> > suite = regressionTest(options.quiet) > File "test_all.py", line 157, in regressionTest > modules = map(__import__, moduleNames) > File > "c:\SVN\anuga_core\source\anuga\damage_modelling\test_inundation_damage.py", > line 11, in <module> > from inundation_damage import * > File > "c:\SVN\anuga_core\source\anuga\damage_modelling\inundation_damage.py", line > 8, in <module> > from Scientific.Functions.Interpolation import InterpolatingFunction > ImportError: No module named Scientific.Functions.Interpolation > > > >> Hi Joaquim, >> >> I found this link >> http://stackoverflow.com/questions/3778370/python-extensions-for-win64-via-gcc >> >> Maybe our compile.py script is finding a 32bit version of python (and >> hence its include file and python library) which is then causing this >> problem. >> >> Cheers >> Steve >> >> >> >> >> On 03/04/13 08:10, Joaquim Luis wrote: >>> Hi Steve, >>> >>> Meanwhile I made another experiment. I used the portable WinPython >>> 'installation' in which and did not have to install Scientific Python. >>> >>> But on the other hand, the attempt to build a 64 bits version ended >>> shortly after >>> >>> --------------------------------------- >>> Trying to compile c-extension quad_tree.c in >>> c:\SVN\anuga_core\source\anuga\utilities >>> C extension quad_tree.c OK >>> >>> --------------------------------------- >>> Trying to compile c-extension sparse_dok.c in >>> c:\SVN\anuga_core\source\anuga\utilities >>> C extension sparse_dok.c OK >>> >>> --------------------------------------- >>> Trying to compile c-extension sparse_csr.c in >>> c:\SVN\anuga_core\source\anuga\utilities >>> C extension sparse_csr.c OK >>> >>> --------------------------------------- >>> Trying to compile c-extension cg_ext.c in >>> c:\SVN\anuga_core\source\anuga\utilities >>> cg_ext.o:cg_ext.c:(.text+0x1d15): undefined reference to >>> `__imp_Py_InitModule4' >>> collect2.exe: error: ld returned 1 exit status >>> Traceback (most recent call last): >>> File "compile_all.py", line 24, in <module> >>> execfile('compile.py') >>> File "compile.py", line 507, in <module> >>> raise Exception(msg) >>> Exception: Could not compile C extension cg_ext.c >>> Could not link cg_ext - please try manually >>> >> > -- +--------------------------------------------------------------------+ | Steve Roberts | My Office: (61)(2) 6125 4445 | | Department of Mathematics | Math Office: (61)(2) 6125 2908 | | Mathematical Sciences Institute| Fax: (61)(2) 6125 4984 | | John Dedman Building #27 | mailto:ste...@an... | | Australian National University | http://www.maths.anu.edu.au/~steve| | Canberra ACT 0200 AUSTRALIA | ANU CRICOS # 00120C | +--------------------------------------------------------------------+ |