From: Joaquim L. <jl...@ua...> - 2013-04-03 17:15:44
|
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 >> > > |