User forums > General (but related to Code::Blocks)
Building CB - bleeding edge - gcc49 wxW30
digifuzzy:
Reporting observations
Environment:
uname -r : 3.14.2-1-ARCH
wxWidgets: last change set 76439 (2014May02)
wxWidgets configure: --prefix=/opt/wx30 --with-sdl --with-opengl --enable-xrc --enable-unicode --enable-mediactrl --enable-webview --enable-precomp-headers
CB: rev 9760
CB configure: --with-contrib-plugins=all --with-wx-config=/opt/wx30/bin/wx-config
Build wxW and CB w/ gcc-4.9.0.1 gcc-libs-4.9.0.1 libtool-2.4.2-13 (latest from Arch)
wxW build would be successful, but CB build would fail with message
--- Code: ---/bin/sh ../../libtool --tag=CXX --mode=link g++ -O2 -ffast-math -DCB_AUTOCONF -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -Wl,--no-undefined -o codeblocks app.o appglobals.o backtracedlg.o breakpointsdlg.o compilersettingsdlg.o cpuregistersdlg.o crashhandler.o debugger_interface_creator.o debuggermenu.o debuggersettingscommonpanel.o debuggersettingsdlg.o debuggersettingspanel.o disassemblydlg.o dlgabout.o dlgaboutplugin.o editkeywordsdlg.o editorconfigurationdlg.o environmentsettingsdlg.o examinememorydlg.o find_replace.o infopane.o main.o notebookstyles.o prefix.o printdlg.o projectmanagerui.o projectdepsdlg.o projectoptionsdlg.o recentitemslist.o scriptconsole.o scriptingsettingsdlg.o splashscreen.o startherepage.o switcherdlg.o threadsdlg.o virtualbuildtargetsdlg.o watchesdlg.o ../sdk/libcodeblocks.la -L/opt/wx30/lib -pthread -lwx_gtk2u_aui-3.1 -lwx_gtk2u_propgrid-3.1 -lwx_gtk2u_richtext-3.1 -lwx_gtk2u_xrc-3.1 -lwx_gtk2u_webview-3.1 -lwx_gtk2u_html-3.1 -lwx_gtk2u_qa-3.1 -lwx_gtk2u_adv-3.1 -lwx_gtk2u_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lpthread -ldl
libtool: link: g++ -O2 -ffast-math -DCB_AUTOCONF -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -Wl,--no-undefined -o .libs/codeblocks app.o appglobals.o backtracedlg.o breakpointsdlg.o compilersettingsdlg.o cpuregistersdlg.o crashhandler.o debugger_interface_creator.o debuggermenu.o debuggersettingscommonpanel.o debuggersettingsdlg.o debuggersettingspanel.o disassemblydlg.o dlgabout.o dlgaboutplugin.o editkeywordsdlg.o editorconfigurationdlg.o environmentsettingsdlg.o examinememorydlg.o find_replace.o infopane.o main.o notebookstyles.o prefix.o printdlg.o projectmanagerui.o projectdepsdlg.o projectoptionsdlg.o recentitemslist.o scriptconsole.o scriptingsettingsdlg.o splashscreen.o startherepage.o switcherdlg.o threadsdlg.o virtualbuildtargetsdlg.o watchesdlg.o -pthread ../sdk/.libs/libcodeblocks.so -L/opt/wx30/lib -lwx_gtk2u_aui-3.1 -lwx_gtk2u_propgrid-3.1 -lwx_gtk2u_richtext-3.1 -lwx_gtk2u_xrc-3.1 -lwx_gtk2u_webview-3.1 -lwx_gtk2u_html-3.1 -lwx_gtk2u_qa-3.1 -lwx_gtk2u_adv-3.1 -lwx_gtk2u_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lpthread -ldl -pthread -Wl,-rpath -Wl,/usr/local/lib
/opt/wx30/lib/libwx_gtk2u_propgrid-3.1.so: undefined reference to `wxCommandEvent::Clone() const'
--- End code ---
( full build log is available)
A look at wxWidgets documentation - it appears the wxObject::Clone was replaced around 2012 (wxW2.9.x branch?) with wxObject::Ref.
A search of the CB sources for 'prop' and 'clone' (to address just the build fail encountered) found the following references:
--- Code: ---src/sdk/wxpropgrid/src/propgrid.cpp:10603:wxEvent* wxPropertyGridEvent::Clone() const
src/sdk/wxpropgrid/samples/propgridsample.cpp:165: virtual wxObject* Clone() const
src/sdk/wxpropgrid/include/wx/propgrid/propgrid.h:1672: virtual wxVariantData* Clone() { return new CLASSNAME; } \
src/sdk/wxpropgrid/include/wx/propgrid/propgrid.h:3075: m_validator = wxDynamicCast(validator.Clone(),wxValidator);
src/sdk/wxpropgrid/include/wx/propgrid/propgrid.h:8437: virtual wxEvent* Clone() const;
--- End code ---
Downgraded gcc and gcc-libs to 4.8.2-8 and libtool to 2.4.2-12 and the CB build would be successful.
( full build log is available)
stahta01:
No one, to my knowledge, except me has tried to build CB with wxWidgets 3.1 AKA wxWidgets trunk.
I would suggest using wxWidgets 3.0 or wxWidgets 3.0 branch, instead.
CB is unstable using wxWidgets 3.0 or wxWidgets 3.0 branch; but, it does build.
Edit: For 3.1 you likely need to make sure wxWidgets configure uses option "--enable-compat28".
Tim S.
Jenna:
--- Quote from: stahta01 on May 03, 2014, 10:31:10 pm ---No one, to my knowledge, except me has tried to build CB with wxWidgets 3.1 AKA wxWidgets trunk.
I would suggest using wxWidgets 3.0 or wxWidgets 3.0 branch, instead.
CB is unstable using wxWidgets 3.0 or wxWidgets 3.0 branch; but, it does build.
Edit: For 3.1 you likely need to make sure wxWidgets configure uses option "--enable-compat28".
Tim S.
--- End quote ---
The problem is not wx3.1, but the combination of gcc 4.9 and wx3.1 .
I buid against wxtrunk regulary and use it, still not as stable as with wx2.8, but it works.
I only have gcc 4.9 on my Fedora 21 (Rawhide) VM, but I did not (yet) use it to build gcc or wx.
digifuzzy:
--- Quote from: stahta01 on May 03, 2014, 10:31:10 pm ---No one, to my knowledge, except me has tried to build CB with wxWidgets 3.1 AKA wxWidgets trunk.
I would suggest using wxWidgets 3.0 or wxWidgets 3.0 branch, instead.
--- End quote ---
I looked into the wxW revisions for another issue.
It seems that trunk is the wxW_3_0_0 branch at the moment.
http://trac.wxwidgets.org/browser/wxWidgets/tags?order=date&desc=1
stahta01:
--- Quote from: digifuzzy on May 03, 2014, 11:45:03 pm ---It seems that trunk is the wxW_3_0_0 branch at the moment.
--- End quote ---
Very unlikely; but, jens says the issues is gcc 4.9 instead of wx trunk as I guessed.
I just am very surprised that CB does NOT require wx 2.8 compatible mode to be on; I have NOT seen that many wxWidgets 3.0 patches submitted to fix all the places in CB that assumed wx 2.8 compatible mode.
Edit: But, its been about 5 months since I last tried wx trunk; I stopped about one month after the 3.0 branch started.
Edit2: I am using WX_3_0_BRANCH and it is still wxWidgets 3.0.1.0 in wx/version.h.
Tim S.
Navigation
[0] Message Index
[#] Next page
Go to full version