Update: Looks like it’s being included when SIP generates the files for example this can be found at the top of sip_core_ScrolledWindowsBase.cpp:
And so on. Is there a way I can configure SIP to avoid this?
On Thursday, May 30, 2019 at 12:19:05 PM UTC+1, Hamish McIntyre-Bhatty wrote:
Thanks for the advice.
It looks like it’s trying to include from both ext/wxWidgets/ and /usr/include/wx-3.0, and the files are conflicting as you said.
However, I can’t figure out where the build options are generated so I can resolve this and try to only include from /usr/include/wx-3.0, could you give me a hint please?
On Sunday, May 26, 2019 at 1:46:16 AM UTC+1, Robin Dunn wrote:
On Saturday, May 25, 2019 at 3:42:14 AM UTC-7, Hamish McIntyre-Bhatty wrote:
I’ve been attempting to get a wxpython 4.0.1 build for Python 3 working under Cygwin the past few days. I am building against gtk2 and the system wxwidgets version (3.0.2). I haven’t yet managed to get newer versions of wxWidgets to build, but as I found the build at https://launchpad.net/~swt-techie/+archive/ubuntu/wxpython4 works and Ubuntu 16.04 has similar dependencies, I am taking my build arguments and similar from that - and trying some of the patches, but with no success yet.
My build options for the last part of the build are: “python3 build.py build_py --use_syswx --gtk2” (after running dox etg --nodoc and sip)
I’ve gotten fairly far along now, but I keep running into an error where when sip_corewxAcceleratorTable.cpp is compiled:
I get an extremely long list of errors about classes being redefined or having multiple definition (example: wx/object.h:422:7: error: redefinition of ‘class wxClassInfo’ ), and the build fails. I can provide more information and attach a complete log if required.
Does anyone have any ideas why this might be happening?
Unless you’ve hunted them all down and fixed them there are likely a number of places in build.py and supporting scripts that are going to assume a win32/64 build on Windows, not a build using a gtk port. Perhaps there are some unexpected flags being passed to the compiler do to confusion about the port that is resulting in more than one version of that class being defined.