aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: strange wx problem  (Read 7357 times)

minage

  • Full Member
  • ***
  • Karma: 1
  • Offline Offline
  • Posts: 117
strange wx problem
« on: February 27, 2009, 07:54:33 PM »

hi,
i can't compile amule 2.2.3 because i get these errors:

Code: [Select]
Compiling RoutingBin.cpp
Compiling StateMachine.cpp
Compiling ThreadScheduler.cpp
Building libmuleappcore.a
Compiling BarShader.cpp
In file included from /usr/include/wx-2.8/wx/dc.h:22,
                 from BarShader.cpp:26:
/usr/include/wx-2.8/wx/cursor.h: In constructor ‘wxBusyCursorSuspender::wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:65: error: ‘wxIsBusy’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h:67: error: ‘wxBusyCursor’ has not been declared
/usr/include/wx-2.8/wx/cursor.h:67: error: ‘wxSetCursor’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h: In destructor ‘wxBusyCursorSuspender::~wxBusyCursorSuspender()’:
/usr/include/wx-2.8/wx/cursor.h:72: error: ‘wxIsBusy’ was not declared in this scope
/usr/include/wx-2.8/wx/cursor.h:74: error: ‘wxBusyCursor’ has not been declared
/usr/include/wx-2.8/wx/cursor.h:74: error: ‘wxSetCursor’ was not declared in this scope
In file included from BarShader.cpp:26:
/usr/include/wx-2.8/wx/dc.h: At global scope:
/usr/include/wx-2.8/wx/dc.h:841: error: field ‘m_pen’ has incomplete type
/usr/include/wx-2.8/wx/dc.h:842: error: field ‘m_brush’ has incomplete type
/usr/include/wx-2.8/wx/dc.h:843: error: field ‘m_backgroundBrush’ has incomplete type
/usr/include/wx-2.8/wx/dc.h:844: error: field ‘m_textForegroundColour’ has incomplete type
/usr/include/wx-2.8/wx/dc.h:845: error: field ‘m_textBackgroundColour’ has incomplete type
/usr/include/wx-2.8/wx/dc.h:846: error: field ‘m_font’ has incomplete type
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCBase::wxDCBase()’:
/usr/include/wx-2.8/wx/dc.h:121: error: class ‘wxDCBase’ does not have any field named ‘m_pen’
/usr/include/wx-2.8/wx/dc.h:122: error: class ‘wxDCBase’ does not have any field named ‘m_brush’
/usr/include/wx-2.8/wx/dc.h:123: error: class ‘wxDCBase’ does not have any field named ‘m_backgroundBrush’
/usr/include/wx-2.8/wx/dc.h:124: error: class ‘wxDCBase’ does not have any field named ‘m_textForegroundColour’
/usr/include/wx-2.8/wx/dc.h:125: error: class ‘wxDCBase’ does not have any field named ‘m_textBackgroundColour’
/usr/include/wx-2.8/wx/dc.h:126: error: class ‘wxDCBase’ does not have any field named ‘m_font’
/usr/include/wx-2.8/wx/dc.h: In member function ‘wxBitmap wxDCBase::GetAsBitmap(const wxRect*) const’:
/usr/include/wx-2.8/wx/dc.h:318: error: return type ‘struct wxBitmap’ is incomplete
/usr/include/wx-2.8/wx/dc.h:319: error: invalid use of incomplete type ‘struct wxBitmap’
/usr/include/wx-2.8/wx/gdicmn.h:30: error: forward declaration of ‘struct wxBitmap’
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxBrush& wxDCBase::GetBackground() const’:
/usr/include/wx-2.8/wx/dc.h:527: error: ‘m_backgroundBrush’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxBrush& wxDCBase::GetBrush() const’:
/usr/include/wx-2.8/wx/dc.h:528: error: ‘m_brush’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxFont& wxDCBase::GetFont() const’:
/usr/include/wx-2.8/wx/dc.h:529: error: ‘m_font’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxPen& wxDCBase::GetPen() const’:
/usr/include/wx-2.8/wx/dc.h:530: error: ‘m_pen’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxColour& wxDCBase::GetTextForeground() const’:
/usr/include/wx-2.8/wx/dc.h:532: error: ‘m_textForegroundColour’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual const wxColour& wxDCBase::GetTextBackground() const’:
/usr/include/wx-2.8/wx/dc.h:533: error: ‘m_textBackgroundColour’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual void wxDCBase::SetTextForeground(const wxColour&)’:
/usr/include/wx-2.8/wx/dc.h:535: error: ‘m_textForegroundColour’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual void wxDCBase::SetTextBackground(const wxColour&)’:
/usr/include/wx-2.8/wx/dc.h:537: error: ‘m_textBackgroundColour’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h: In member function ‘virtual wxBitmap wxDCBase::DoGetAsBitmap(const wxRect*) const’:
/usr/include/wx-2.8/wx/dc.h:733: error: return type ‘struct wxBitmap’ is incomplete
/usr/include/wx-2.8/wx/dc.h: At global scope:
/usr/include/wx-2.8/wx/dc.h:921: error: field ‘m_colFgOld’ has incomplete type
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCTextColourChanger::wxDCTextColourChanger(wxDC&)’:
/usr/include/wx-2.8/wx/dc.h:898: error: class ‘wxDCTextColourChanger’ does not have any field named ‘m_colFgOld’
/usr/include/wx-2.8/wx/dc.h: In destructor ‘wxDCTextColourChanger::~wxDCTextColourChanger()’:
/usr/include/wx-2.8/wx/dc.h:907: error: ‘m_colFgOld’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h:908: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In member function ‘void wxDCTextColourChanger::Set(const wxColour&)’:
/usr/include/wx-2.8/wx/dc.h:913: error: ‘m_colFgOld’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h:914: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:915: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: At global scope:
/usr/include/wx-2.8/wx/dc.h:948: error: field ‘m_penOld’ has incomplete type
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCPenChanger::wxDCPenChanger(wxDC&, const wxPen&)’:
/usr/include/wx-2.8/wx/dc.h:934: error: class ‘wxDCPenChanger’ does not have any field named ‘m_penOld’
/usr/include/wx-2.8/wx/dc.h:934: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:936: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In destructor ‘wxDCPenChanger::~wxDCPenChanger()’:
/usr/include/wx-2.8/wx/dc.h:941: error: ‘m_penOld’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h:942: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: At global scope:
/usr/include/wx-2.8/wx/dc.h:975: error: field ‘m_brushOld’ has incomplete type
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCBrushChanger::wxDCBrushChanger(wxDC&, const wxBrush&)’:
/usr/include/wx-2.8/wx/dc.h:961: error: class ‘wxDCBrushChanger’ does not have any field named ‘m_brushOld’
/usr/include/wx-2.8/wx/dc.h:961: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:963: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In destructor ‘wxDCBrushChanger::~wxDCBrushChanger()’:
/usr/include/wx-2.8/wx/dc.h:968: error: ‘m_brushOld’ was not declared in this scope
/usr/include/wx-2.8/wx/dc.h:969: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCClipper::wxDCClipper(wxDC&, const wxRegion&)’:
/usr/include/wx-2.8/wx/dc.h:989: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCClipper::wxDCClipper(wxDC&, const wxRect&)’:
/usr/include/wx-2.8/wx/dc.h:991: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In constructor ‘wxDCClipper::wxDCClipper(wxDC&, wxCoord, wxCoord, wxCoord, wxCoord)’:
/usr/include/wx-2.8/wx/dc.h:993: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h: In destructor ‘wxDCClipper::~wxDCClipper()’:
/usr/include/wx-2.8/wx/dc.h:995: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp: In member function ‘void CBarShader::Draw(wxDC*, int, int, bool)’:
BarShader.cpp:208: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp: In member function ‘void CBarShader::FillRect(wxDC*, const wxRect&, uint32, bool)’:
BarShader.cpp:233: error: variable ‘wxBrush brush’ has initializer but incomplete type
BarShader.cpp:233: error: ‘WxColourFromCr’ was not declared in this scope
BarShader.cpp:234: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp:235: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp:248: error: variable ‘wxPen pen’ has initializer but incomplete type
BarShader.cpp:248: error: invalid use of incomplete type ‘struct wxColour’
/usr/include/wx-2.8/wx/colour.h:19: error: forward declaration of ‘struct wxColour’
BarShader.cpp:249: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp:252: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp:255: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
BarShader.cpp:259: error: invalid use of incomplete type ‘struct wxDC’
/usr/include/wx-2.8/wx/dc.h:33: error: forward declaration of ‘struct wxDC’
make[3]: *** [libmuleappgui_a-BarShader.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

i think it's pretty clear it's a wx issue but i don't know how to solve it.

Code: [Select]
ls -l /usr/bin/wx*
lrwxrwxrwx 1 root root 27 27 feb 20:25 /usr/bin/wx-config -> /etc/alternatives/wx-config

ls -l /usr/local/bin/wx*
ls: impossibile accedere a /usr/local/bin/wx*: No such file or directory

BUT

configure ends with no errors....  ???

./configure --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-amule-gui --enable-optimize --disable-debug --disable-upnp

Code: [Select]
  Configure script has finished system check.

  Configured aMule 2.2.3 for 'i686-pc-linux-gnu'.

  aMule enabled options:

  **** aMule Core ****
  Prefix where aMule should be installed?                    /usr/local
  Should aMule be compiled with i18n support?                yes
  Should aMule be compiled in debug mode?                    no
  Should aMule be compiled with profiling?                   no
  Should aMule be compiled with optimizations?               yes
  Should aMule be compiled with UPnP support?                no
  Should aMule be compiled with IP2country support?          no
  Should aMule monolithic application be built?              yes
  Should aMule daemon version be built?                      yes
  Should aMule remote gui be built? (EXPERIMENTAL)           yes
  Crypto++ library/headers style?                            installed

  **** aMule TextClient ****
  Should aMule Command Line Client be built?                 yes

  **** aMule WebServer ****
  Should aMule WebServer be built?                           yes

  **** aMule ED2K Links Handler ****
  Should aMule ED2K Links Handler be built?                  yes

  **** aMuleLinkCreator ****
  Should aMuleLinkCreator GUI version (alc) be built?        no
  Should aMuleLinkCreator for console (alcc) be built?       no

  **** aMule Statistics ****
  Should C aMule Statistics (CAS) be built?                  no
  Should aMule GUI Statistics (wxCas) be built?              no

  **** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                                       wxWidgets             2.8.9 (base,debug,shared)
                                       crypto++              5.5.2 (installed, in /usr)
                                       regex                 system
                                       libintl               system
                                       libpng                1.2.27
                                       zlib                  1.2.3.3

here wx seems to be installed correctly.

My linux box is a debian lenny (5.0) up-to-date
I installed wx stuff following this guide: http://wiki.wxpython.org/InstallingOnUbuntuOrDebian
and this is what i should have on my machine:

Code: [Select]
dpkg -l | grep wx
ii  libwxbase2.8-0                       2.8.9.2-1                     wxBase library (runtime) - non-GUI support c
ii  libwxbase2.8-dbg                     2.8.9.2-1                     wxBase library (debug) - non-GUI support cla
ii  libwxgtk2.8-0                        2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (GT
rc  python-wxtools                       2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (wx
ii  python-wxversion                     2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (wx
ii  wx2.8-doc                            2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (do
ii  wx2.8-headers                        2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (he
ii  wx2.8-i18n                           2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (i1

any help is appreciated :)
Logged

wuischke

  • Developer
  • Hero Member
  • *****
  • Karma: 183
  • Offline Offline
  • Posts: 4292
Re: strange wx problem
« Reply #1 on: February 27, 2009, 08:16:49 PM »

This might be a problem related to wx26compat (i.e. compatibility to the previous wx version). I'm not sure if we already removed all dependencies to wx 2.6 in 2.2.3 (Stu, you fixed this, didn't you? I couldn't find the commit right now.)

Do you think you could try a recent SVN snapshot? (amule.sf.net/tarballs) It should compile fine in any case.
Logged

minage

  • Full Member
  • ***
  • Karma: 1
  • Offline Offline
  • Posts: 117
Re: strange wx problem
« Reply #2 on: February 27, 2009, 08:22:11 PM »

i can try an SVN or if it is possible i can install some 2.6x packages....

btw, i succesfully compiled amule without any gui (monolithic and remote-gui).
Logged

wuischke

  • Developer
  • Hero Member
  • *****
  • Karma: 183
  • Offline Offline
  • Posts: 4292
Re: strange wx problem
« Reply #3 on: February 27, 2009, 08:41:14 PM »

Installing 2.6 packages won't help, that's a compile-time option for wx 2.8.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: strange wx problem
« Reply #4 on: February 27, 2009, 11:41:26 PM »

This might be a problem related to wx26compat (i.e. compatibility to the previous wx version). I'm not sure if we already removed all dependencies to wx 2.6 in 2.2.3 (Stu, you fixed this, didn't you? I couldn't find the commit right now.)
9191 (only fixed for 2.2.3, not for trunk). But that's only a single constant that was missing.

Code: [Select]
  Libraries aMule will use to build:
                                       wxWidgets             2.8.9 (base,debug,shared)
                                       crypto++              5.5.2 (installed, in /usr)

Code: [Select]
ii  libwxbase2.8-0                       2.8.9.2-1                     wxBase library (runtime) - non-GUI support c
ii  libwxbase2.8-dbg                     2.8.9.2-1                     wxBase library (debug) - non-GUI support cla
ii  libwxgtk2.8-0                        2.8.9.2-1                     wxWidgets Cross-platform C++ GUI toolkit (GT

You have installed debug and release of wxbase, but release only of wxgtk. This probably confuses the configure. It builds with wxdebug, doesn't find wxGTK and fails.
Remove libwxbase2.8-dbg and libwxbase2.8-0 and just keep libwxgtk2.8-0 (which also includes wxbase - I hope so at least).
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: strange wx problem
« Reply #5 on: February 27, 2009, 11:51:37 PM »

Since wxWidgets-2.5 (and it was long ago) all GUI libraries contain the Base library, so you don't need to install it separately. Thus you have to either remove the wxbase libraries, or configuring aMule with `--with-toolkit=gtk' might do the trick, if everything is correctly installed.
Logged
concordia cum veritate

minage

  • Full Member
  • ***
  • Karma: 1
  • Offline Offline
  • Posts: 117
Re: strange wx problem
« Reply #6 on: February 28, 2009, 12:45:00 AM »

ok i'll try something tomorrow.

thanks
Logged

minage

  • Full Member
  • ***
  • Karma: 1
  • Offline Offline
  • Posts: 117
Re: strange wx problem
« Reply #7 on: March 02, 2009, 06:29:11 PM »

thank you all guys.
Every is working fine now.

1)I removed every wx* package.
2)installed the libwxgtk2.8-0 alone but configure couldn't find wx-config and it stopped.
3)installed libwxgtk2.8-dev (wich require dev version of wxbase2.8 too)

and configure found what it wants. :)
make process ended correctly and now amule (monolithic) is working fine.

My fault was that at first time searching wx i couldn't find the right package so i installed everything i could ^_^

thanks
bye
Logged