I've been struggling with compiling OCC on 64bit Ubuntu for a few days and finally made serious headway after applying Jason Kraftcheck's patches ( http://www.opencascade.org/org/forum/thread_12563/ .) Unfortunately I've run into these 2 instances (so far) of void pointers being cast as standard ints in OCC. Here are the errors I got after 3 hours of compilation:
../../../src/Draw/Draw_VariableCommands.cxx: In function 'char* tracevar(void*, Tcl_Interp*, char*, char*, Standard_Integer)':
../../../src/Draw/Draw_VariableCommands.cxx:661: error: cast from 'void*' to 'Standard_Integer' loses precision
../../../src/Draw/Draw_VariableCommands.cxx: In static member function 'static Handle_Draw_Drawable3D Draw::Get(char*&, Standard_Boolean)':
../../../src/Draw/Draw_VariableCommands.cxx:776: error: cast from 'void*' to 'Standard_Integer' loses precision
Does anyone know a definitive fix for this issue? Why have other 64 bit users not encountered the same problem? Thanks in advance for any advice!