User forums > General (but related to Code::Blocks)

Building CB - bleeding edge - gcc49 wxW30

(1/5) > >>

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