Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 420247 - dev-python/wxpython fails to build with USE opengl
Summary: dev-python/wxpython fails to build with USE opengl
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-08 13:37 UTC by Benda Xu
Modified: 2012-06-12 02:07 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (wxpython.log,94.08 KB, text/plain)
2012-06-08 13:42 UTC, Benda Xu
Details
emerge --info '=dev-python/wxpython-2.8.12.1' (wxpython.emerge,4.34 KB, text/plain)
2012-06-08 13:42 UTC, Benda Xu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benda Xu gentoo-dev 2012-06-08 13:37:38 UTC
dev-python/wxpython fails to build when opengl is enabled.

Reproducible: Always

Steps to Reproduce:
1. USE="opengl" emerge wxpython
Comment 1 Benda Xu gentoo-dev 2012-06-08 13:42:06 UTC
Created attachment 314685 [details]
build.log
Comment 2 Benda Xu gentoo-dev 2012-06-08 13:42:41 UTC
Created attachment 314687 [details]
emerge --info '=dev-python/wxpython-2.8.12.1'
Comment 3 Arfrever Frehtes Taifersar Arahesis 2012-06-09 00:51:35 UTC
Maybe try with disabled distcc.
Comment 4 Benda Xu gentoo-dev 2012-06-09 04:37:30 UTC
Arfrever, thanks for your hint. I tried to emerge with FEATURES="-distcc -distcc-pump", and it fails with the same symptom.
Comment 5 Benda Xu gentoo-dev 2012-06-09 04:45:12 UTC
Here is some analysis:

contrib/glcanvas/gtk/glcanvas_wrap.cpp:2740:3: error: ‘wxGLCanvas’ was not declared in this scope

wxGLCanvas is defined in wx/gtk/glcanvas.h, which should be included in wx/glcanvas.h.

but replace gcc with cpp in the failing command:

x86_64-pc-linux-gnu-cpp -pthread -O2 -pipe -march=corei7 -fno-strict-aliasing -fPIC -DSWIG_TYPE_TABLE=_wxPython_table -DSWIG_PYTHON_OUTPUT_TUPLE 
<...>
contrib/glcanvas/gtk/glcanvas_wrap.cpp -pthread | grep -n -B 5 -A 20 glcanvas.h

it gives:

76145-class wxPyTaskBarIcon;
76146-class wxPyEvtHandler;
76147-class wxPyPickerBase;
76148-# 2660 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
76149-
76150:# 1 "/usr/include/wx-2.8/wx/glcanvas.h" 1
76151-# 2662 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
76152-
76153-
76154- static const wxString wxPyGLCanvasNameStr(L"GLCanvas");
76155- static const wxString wxPyEmptyString(wxEmptyString);
76156-
76157-
76158-
76159-
76160-static __attribute__ ((__unused__)) inline PyObject *
76161-SWIG_From_int (int value)
76162-{
76163-  return PyInt_FromLong (value);
76164-}
76165-
76166-
76167-# 1 "/localwork/benda/gentoo/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include-fixed/limits.h" 1 3 4
76168-# 2678 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
76169-# 2689 "contrib/glcanvas/gtk/glcanvas_wrap.cpp"
76170-static __attribute__ ((__unused__)) int

from line 76150, we can see wx/glcanvas.h is not expanded. I can't see any reason for this behavior.
Comment 6 Benda Xu gentoo-dev 2012-06-09 04:49:35 UTC
the last output is pasted from a (fast) Gentoo Prefix. The same applies to the (slow) amd64 box.

wxPython # x86_64-pc-linux-gnu-cpp -pthread -O2 -pipe -march=core2 -fno-strict-aliasing -fPIC -DSWIG_TYPE_TABLE=_wxPython_table -DSWIG_PYTHON_OUTPUT_TUPLE -DWXP_USE_THREAD=1 -UNDEBUG -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -Iinclude -Isrc -I/usr/lib64/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/python2.7 contrib/glcanvas/gtk/glcanvas_wrap.cpp -pthread  | grep -n -A20 -B5 glcanvas.h
77863-class wxPyTaskBarIcon;
77864-class wxPyEvtHandler;
77865-class wxPyPickerBase;
77866-# 2660 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
77867-
77868:# 1 "/usr/include/wx-2.8/wx/glcanvas.h" 1
77869-# 2662 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
77870-
77871-
77872- static const wxString wxPyGLCanvasNameStr(L"GLCanvas");
77873- static const wxString wxPyEmptyString(wxEmptyString);
77874-
77875-
77876-
77877-
77878-static __attribute__ ((__unused__)) inline PyObject *
77879-SWIG_From_int (int value)
77880-{
77881-  return PyInt_FromLong (value);
77882-}
77883-
77884-
77885-# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include-fixed/limits.h" 1 3 4
77886-# 2678 "contrib/glcanvas/gtk/glcanvas_wrap.cpp" 2
77887-# 2689 "contrib/glcanvas/gtk/glcanvas_wrap.cpp"
77888-static __attribute__ ((__unused__)) int
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2012-06-12 00:08:12 UTC
I take it wxGTK is built with your patch from bug #394123...
Comment 8 Benda Xu gentoo-dev 2012-06-12 02:07:05 UTC
Thanks Ryan. Sorry for the trouble.