Great news - I now have a working 64bit version of pythonocc 0.5 for
Python 2.6 (64bit) on Windows!
I would like to do the same for the trunk version, and would then like
to contribute these changes. What is the best way to go about this?
- Frank
On 18/08/2011 12:50 PM, Thomas Paviot wrote:
2011/8/18 Frank Conradie <fr...@qfin.net <mailto:fr...@qfin.net>>
Hi Thomas
I made some progress on this in the last hour or so:
1. sys.platform is still "win32", even for 64 bit Python.
Funny!
2. The sys.maxint check does not work on Windows - it returns the
32 bit max, even though I am definitely using Python 2.6 64bit.
I didn't know about that. I thought the maxint was 2^63-1 when python
is compiled in 64bit mode.
I have found other references to this on some messageboards. The
suggested way to work around this is to check the 1st value
returned by "platform.architecture()", which returns ('64bit',
'WindowsPE').
Very interesting, I will move to this function. I tested that it
returns '32bit' for OSX/python2.5 and '64bit' for OSX/python2.6. Thanks.
3. To link with the 64bit versions of the OCC libs, I made this
change:
if sys.platform=='win32':
OCC_LIB = os.path.join(OCC_ROOT,'win%d'%bits,'lib')
Ok. This has to be properly handled.
4. I added the 64 bit flags, as you also suggested in your email:
if bits==64:
DEFINE_MACROS.append(('_OCC64',None))
SWIG_OPTS.append('-D_OCC64')
However, I currently get this error:
C:\Python\pythonocc-0.5\src\wrapper\Visualization\Visualization.i(25)
: Error: Unable to find '..\1\ExceptionCatcher.i'
error: command 'swig.exe' failed with exit status 1
Strange, line 25 of Visualization.i should be:
%include ../SWIG/ExceptionCatcher.i
Any idea where this could stem from?
Absolutely not. What about the other modules?
- Frank
Thomas
On 18/08/2011 12:12 PM, Thomas Paviot wrote:
2011/8/18 Frank Conradie <fr...@qfin.net <mailto:fr...@qfin.net>>
I am wondering if anyone has tried to build pythonocc for
64bit Python on Win64? Looking at environment.py. there is no
special case code for 64 bit builds on Windows yet, although
there is for Linux and MacOS.
- Frank
Hi Frank,
There's not any Win64 specific code because I did not have the
opportunity to have a Win64 machine to test pythonocc with this
platform. However I do think that the 64bit code for linux/darwin
could be used as is for Win64.
The script environment.py first detects whether or not python is
64 bit (by querying sys.maxint). After that, according to the
result (32 or 64bit), environment.py decides to set -D_OCC64 as a
compiler define. That's all. If you just append ('_OCC64',None)
to the DEFINE_MACROS list, you should have pythonocc compiled
properly under Win64.
Just a question: under Win32, sys.platform returns the 'win32'
string. Is 'win64' returned under win64?
I will create a branch named tp/win64-support (don't know if
you're familiar with git). I will notify you when it's done so
that you can test building pythonocc from github
(https://github.com/tpaviot/pythonocc). I don't know if there are
speficic things to be aware of when dealing with python and
windows in 64 bit mode, feel free to send any suggestion.
Best Regards,
Thomas
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org <mailto:Pythonocc-users@gna.org>
https://mail.gna.org/listinfo/pythonocc-users
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org <mailto:Pythonocc-users@gna.org>
https://mail.gna.org/listinfo/pythonocc-users
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users