Building wxpython on x86-64

Hi - newbie to wxpython, wxPython 2.9.1.1not building. I am building
using gcc4.3.2 on redhat linux 5.3 on x86_64.

in wx/graphics.h a bunch of things such as wxAntialiasMode are only
defined if wxUSE_GRAPHICS_CONTEXT=1

in ./src/gtk/_gdi_wrap.cpp, these defines are referenced if
wxUSE_GRAPHICS_CONTEXT=0

on the face of it, seems like a bug but again I am a newbie.

This results in interesting build probs like:

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -
Wstrict-prototypes -fPIC -DSWIG_TYPE_TABLE=_wxPython_table -
DSWIG_PYTHON_OUTPUT_TUPLE -DWXP_USE_THREAD=1 -UNDEBUG -
D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -DXTHREADS -D_REENTRANT
-DXUSE_MTSAFE_API -Iinclude -Isrc -I/home/r318565/downloads/wxPython-
src-2.9.1.1/wxPython/wxpy-bld/lib/wx/include/gtk2-unicode-2.9 -I/home/
r318565/downloads/wxPython-src-2.9.1.1/include -I/usr/include/gtk-2.0 -
I/usr/lib64/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/
atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/
include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/
include -I/home/r318565/user64/ext/g432_linux64/include/python2.6 -c
src/gtk/_gdi_wrap.cpp -o build/temp.linux-x86_64-2.6/src/gtk/
_gdi_wrap.o -pthread -O3
cc1plus: warning: command line option "-Wstrict-prototypes" is valid
for Ada/C/ObjC but not for C++
src/gtk/_gdi_wrap.cpp: In constructor
'swig::PyObject_ptr::PyObject_ptr(PyObject*, bool)':
src/gtk/_gdi_wrap.cpp:2701: warning: suggest explicit braces to avoid
ambiguous 'else'
In file included from src/gtk/_gdi_wrap.cpp:2744:
include/wx/wxPython/wxPython.h: In function 'bool
wxPyCoreAPI_IMPORT()':
include/wx/wxPython/wxPython.h:39: warning: deprecated conversion from
string constant to 'char*'
include/wx/wxPython/wxPython.h:39: warning: deprecated conversion from
string constant to 'char*'
src/gtk/_gdi_wrap.cpp: In function 'wxPalette* new_wxPalette(const
wxArrayInt&, const wxArrayInt&, const wxArrayInt&)':
src/gtk/_gdi_wrap.cpp:2942: warning: comparison between signed and
unsigned integer expressions
src/gtk/_gdi_wrap.cpp:2942: warning: comparison between signed and
unsigned integer expressions
src/gtk/_gdi_wrap.cpp: In function 'void
wxPyCopyBitmapToBuffer(wxBitmap*, unsigned char*, int,
wxBitmapBufferFormat, int)':
src/gtk/_gdi_wrap.cpp:3274: warning: suggest parentheses around
assignment used as truth value
src/gtk/_gdi_wrap.cpp: At global scope:
src/gtk/_gdi_wrap.cpp:4288: error: 'wxAntialiasMode' has not been
declared

It is a bug but there is an easy workaround for you: rebuild wxWidgets to include support for wxGraphicsContext. IIRC you'll just need to have the development packages installed for cairo and it will be turned on automatically when you clean your wxWidgets build and rerun configure. Keep an eye on the output of configure to make sure that it found Cairo and turned on wxUSE_GRAPHICS_CONTEXT

···

On 12/22/10 4:23 PM, poogie wrote:

Hi - newbie to wxpython, wxPython 2.9.1.1not building. I am building
using gcc4.3.2 on redhat linux 5.3 on x86_64.

in wx/graphics.h a bunch of things such as wxAntialiasMode are only
defined if wxUSE_GRAPHICS_CONTEXT=1

in ./src/gtk/_gdi_wrap.cpp, these defines are referenced if
wxUSE_GRAPHICS_CONTEXT=0

on the face of it, seems like a bug but again I am a newbie.

--
Robin Dunn
Software Craftsman