Author Topic: Building CB - bleeding edge - gcc49 wxW30  (Read 25404 times)

Offline digifuzzy

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #15 on: May 05, 2014, 05:43:46 am »
I strongly suspect you have a broken wxWidgets installation.
(You might only have a bad Precompiled header (PCH/gch) file.)
Do you do an make uninstall before each make install?
Quite possible. The sequence I used was
- sudo make uninstall
- make distclean
- configure
- make

Anything is possible. For some reason, the event clone is causing grief.
I'm going to take a day, do a full clean of sources and try again.
I want to believe its a silly switch or configure setting that's causing the problem.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #16 on: May 05, 2014, 06:26:12 am »
Thta's the configure-line to build wx:
Code
../../wxwidgets.dev/configure --with-zlib=sys --disable-reserved_virtual --enable-debug --enable-debug_info --enable-debug_gdb --enable-unicode --with-gtk=2 --enable-sound --with-sdl --enable-display --enable-geometry --enable-graphics_ctx --with-libjpeg=builtin --with-libpng=sys --with-libtiff=sys  --with-opengl
Running configure ends with:
Code
Configured wxWidgets 3.1.0 for `x86_64-unknown-linux-gnu'
  Which GUI toolkit should wxWidgets use?                 GTK+ 2 with support for GTK+ printing libnotify
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be linked as a shared library?         yes
  Should wxWidgets support Unicode?                       yes (using wchar_t)
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.8      no
                                       wxWidgets 3.0      yes
  Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               builtin
                                       png                sys
                                       regex              builtin
                                       tiff               sys
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                yes

I build wx in an own directory and I do not install it.
That makes it easier to clean the build-folder before a new build, just delete and recreate it or delete everything in it, including the hidden-folders (very important, pch's go there !!).
I use the wx-config inside the build-folder. Either by setting C::B's "--with-wx-config"-parameter (when using automake) or by using manipulated versions of C::B's  wx30-project-files, which use it in the "Custom variables" tab.

As I wrote, lots of deprecated warnings (without my opatch for it), but build works (nore or less) fine (C::B still has issues with wx >= 2.9) .

Offline digifuzzy

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #17 on: May 05, 2014, 05:22:23 pm »
already I see a few differences between my setup and yours.
What jumps out at me...
- explicitly calling out zlib, png and tiff (xpm is also available but you don't list it - these are detected on my system and default to "sys" here)
- jpeg builting ( same as above - detected and defaults to "sys" here)
--- the catch to the above is that there is now a dependency on libjpeg, libtiff, libxpm, libpng and libzlib - I've seen debian list these libraries as dependencies, but not Arch.
- verbose debug settings
- enabling display | geometry ( must research )
- enable-graphics_ctx ( arch PKGBUILD calls this - must research)
- disable-reserved_virtual ( must research )

I build wxW in a seperate directory also. But install to /opt/wx30. But hey, both methods work.

My object::Clone() issue must be related to a flag, but I'll dig into it more and report back shortly.
Taking a day...

Offline digifuzzy

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #18 on: May 06, 2014, 06:13:12 pm »
@Jens - no joy.  >:(

I reset both CB and WX. Used your CB and WX configure settings.

make would still fail in the same place.
Code
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../../src/include -I/usr/local/lib/wx/include/gtk2-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../src/include -I../../../src/sdk/wxscintilla/include -I../../../src/include/mozilla_chardet -I../../../src/include/mozilla_chardet/mfbt -I../../../src/include/mozilla_chardet/nsprpub/pr/include -I../../../src/include/mozilla_chardet/xpcom -I../../../src/include/mozilla_chardet/xpcom/base -I../../../src/include/mozilla_chardet/xpcom/glue -ansi -DTIXML_USE_STL -O2 -ffast-math -DCB_AUTOCONF -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT parser/expression.lo -MD -MP -MF parser/.deps/expression.Tpo -c parser/expression.cpp  -fPIC -DPIC -o parser/.libs/expression.o
/bin/sh ../../../libtool  --tag=CXX   --mode=link g++  -O2 -ffast-math -DCB_AUTOCONF  -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -module -version-info 0:1:0 -shared -no-undefined -avoid-version -Wl,--no-undefined -o libcodecompletion.la -rpath /usr/local/lib/codeblocks/plugins ccoptionsdlg.lo ccoptionsprjdlg.lo cctreectrl.lo classbrowser.lo classbrowserbuilderthread.lo codecompletion.lo coderefactoring.lo doxygen_parser.lo insertclassmethoddlg.lo nativeparser.lo nativeparser_base.lo selectincludefile.lo systemheadersthread.lo parser/ccdebuginfo.lo parser/cclogger.lo parser/parser.lo parser/parserthread.lo parser/parserthreadedtask.lo parser/profiletimer.lo parser/token.lo parser/tokenizer.lo parser/tokentree.lo parser/searchtree.lo parser/expression.lo ../../sdk/libcodeblocks.la -L/usr/local/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  -lpthread -ldl
libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/crtbeginS.o  .libs/ccoptionsdlg.o .libs/ccoptionsprjdlg.o .libs/cctreectrl.o .libs/classbrowser.o .libs/classbrowserbuilderthread.o .libs/codecompletion.o .libs/coderefactoring.o .libs/doxygen_parser.o .libs/insertclassmethoddlg.o .libs/nativeparser.o .libs/nativeparser_base.o .libs/selectincludefile.o .libs/systemheadersthread.o parser/.libs/ccdebuginfo.o parser/.libs/cclogger.o parser/.libs/parser.o parser/.libs/parserthread.o parser/.libs/parserthreadedtask.o parser/.libs/profiletimer.o parser/.libs/token.o parser/.libs/tokenizer.o parser/.libs/tokentree.o parser/.libs/searchtree.o parser/.libs/expression.o   -Wl,-rpath -Wl,/home/scottfurry/localbuild/SRCs/codeblocks/codeblocks/src/sdk/.libs -Wl,-rpath -Wl,/usr/local/lib ../../sdk/.libs/libcodeblocks.so -L/usr/local/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 -lpthread -ldl -L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0 -L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/crtfastmath.o /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/crtendS.o /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../lib/crtn.o  -O2 -Wl,--no-undefined -pthread   -pthread -Wl,-soname -Wl,libcodecompletion.so -o .libs/libcodecompletion.so
.libs/codecompletion.o: In function `CodeCompletion::FindFunctionAndUpdate(int)':
codecompletion.cpp:(.text+0x256a): undefined reference to `wxCommandEvent::Clone() const'

need to re-evaluate.

Offline digifuzzy

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #19 on: May 07, 2014, 02:24:47 am »
I have made a couple attempts at building with gcc49 and wx31. I cannot reproduce Jens success with his WX config settings.

Each attempt, CB make will fail pointing at codecompletion.cpp with the message that "undefined reference to `wxCommandEvent::Clone() const". A quick search of the WX documentation found this link wxEvent::Clone.
The docs suggest...
Quote
All wxWidgets events fully implement this method, but any derived events implemented by the user should also implement this method just in case they (or some event derived from them) are ever posted.

From the src code, wxPropertyGridEvent is derived from wxCommandEvent and
Code: codeblocks/src/sdk/wxpropgrid/src/propgrid.cpp line=10603
wxEvent* wxPropertyGridEvent::Clone() const
{
    return new wxPropertyGridEvent( *this );
}

Since this clone method is being implemented and I've ensured I have clean sources (both WX and CB) for the build, I'm at a loss to explain the consistent build failure at exactly the same point. As I cannot proceed at the moment, I'm going to follow up on oBFusCATed's suggestion in another thread and go bug hunting for a bit...



[attachment deleted by admin]

Offline digifuzzy

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #20 on: May 07, 2014, 04:32:38 am »
Attaching configure logs for both CB and WX from Jens settings.

[attachment deleted by admin]

Offline WinterMute

  • Multiple posting newcomer
  • *
  • Posts: 25
    • devkitPro
Re: Building CB - bleeding edge - gcc49 wxW30
« Reply #21 on: May 22, 2014, 01:17:24 pm »
gcc 4.9 has issues with wxWidgets.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61214