aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: [1] 2

Author Topic: Building aMule on openSUSE >= 11.4  (Read 12243 times)

Gerd78

  • Hero Member
  • *****
  • Karma: 9
  • Offline Offline
  • Posts: 681
Building aMule on openSUSE >= 11.4
« on: January 18, 2011, 09:29:21 PM »

There are two important changes for aMule users in openSUSE 11.4.

The first is that cryptopp will be included in the distribution, so you can just use the "libcryptopp-devel" package from the distribution and don't need to build it yourself anymore.

The second is that wxWidgets is now built with --enable-stl by default (more info). aMule does not currently work with this. This means that you must build aMule against the "wxWidgets-wxcontainer-devel" package and not "wxWidgets-devel".
Logged

macias

  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 110
Re: Building aMule on openSUSE >= 11.4
« Reply #1 on: March 07, 2011, 03:35:14 PM »

Thank you for the info.

How did you deal with lib(g)upnp ? aMule looks for libupnp, however the library in repo is named libgupnp.

Thank you in advance.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #2 on: March 07, 2011, 07:15:51 PM »

aMule does not currently work with this. This means that you must build aMule against the "wxWidgets-wxcontainer-devel" package and not "wxWidgets-devel".
What does "not work"? Is it something that can be fixed?
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

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #3 on: May 07, 2011, 09:10:49 PM »

If this can help :.....
Compiling aMule 2.3.1 RC1 with "wxWidgets-devel" :

Quote
Compiling MuleDebug.cpp
MuleDebug.cpp: In function ‘wxString get_backtrace(unsigned int)’:
MuleDebug.cpp:405:88: error: ambiguous overload for ‘operator+’ in ‘wxMBConv::cMB2WX(const char*) const(s_file_name) + CFormat(((const wchar_t*)":\000\000\000%\000\000\000u\000\000\000\000\000\000")).CFormat::operator% [with _Tp = unsigned int, CFormat = CFormat](s_line_number)’
/usr/include/wx-2.8/wx/string.h:1421:27: note: candidates are: wxString operator+(const wxString&, const wxString&)
/usr/include/wx-2.8/wx/string.h:1423:27: note:                 wxString operator+(wxChar, const wxString&) <near match>
/usr/include/wx-2.8/wx/string.h:1425:27: note:                 wxString operator+(const wxChar*, const wxString&)
make[4]: *** [MuleDebug.o] Erreur 1
make[3]: *** [all-recursive] Erreur 1
make[2]: *** [all-recursive] Erreur 1
make[1]: *** [all-recursive] Erreur 1
make: *** [all] Erreur 2

No error with "wxWidgets-wxcontainer-devel"
Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #4 on: May 07, 2011, 09:27:31 PM »

Does it work if you change the offending line to
Code: [Select]
out.Insert(CFormat(wxT("%s:%u")) % wxConvCurrent->cMB2WX(s_file_name) % s_line_number, i*2+1);
?
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

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #5 on: May 07, 2011, 09:57:41 PM »

Sorry for the delay, I don't use many often CPP  ;D

No error with the line after modification.  It's work for MuleDebug.cpp but errors in :

Quote
ClientCreditsList.cpp:271:3: error: ambiguous overload for ‘operator+’ in ‘wxString(((const wchar_t*)"F\000\000\000a\000\000\000i\000\000\000l\000\000\000e\000\000\000d\000\000\000 \000\000\000t\000\000\000o\000\000\000 \000\000\000c\000\000\000r\000\000\000e\000\000\000a\000\000\000t\000\000\000e\000\000\000 \000\000\000n\000\000\000e\000\000\000w\000\000\000 \000\000\000R\000\000\000S\000\000\000A\000\000\000 \000\000\000k\000\000\000e\000\000\000y\000\000\000p\000\000\000a\000\000\000i\000\000\000r\000\000\000:\000\000\000 \000\000\000\000\000\000")) + char2unicode(const char*)()’


ClientCreditsList.cpp:322:3: error: ambiguous overload for ‘operator+’ in ‘wxString(((const wchar_t*)"E\000\000\000r\000\000\000r\000\000\000o\000\000\000r\000\000\000 \000\000\000w\000\000\000h\000\000\000i\000\000\000l\000\000\000e\000\000\000 \000\000\000i\000\000\000n\000\000\000i\000\000\000t\000\000\000i\000\000\000a\000\000\000l\000\000\000i\000\000\000z\000\000\000i\000\000\000n\000\000\000g\000\000\000 \000\000\000e\000\000\000n\000\000\000c\000\000\000r\000\000\000y\000\000\000p\000\000\000t\000\000\000i\000\000\000o\000\000\000n\000\000\000 \000\000\000k\000\000\000e\000\000\000y\000\000\000s\000\000\000:\000\000\000 \000\000\000\000\000\000")) + char2unicode(const char*)()’

ClientCreditsList.cpp:368:3: error: ambiguous overload for ‘operator+’ in ‘wxString(((const wchar_t*)"E\000\000\000r\000\000\000r\000\000\000o\000\000\000r\000\000\000 \000\000\000w\000\000\000h\000\000\000i\000\000\000l\000\000\000e\000\000\000 \000\000\000c\000\000\000r\000\000\000e\000\000\000a\000\000\000t\000\000\000i\000\000\000n\000\000\000g\000\000\000 \000\000\000s\000\000\000i\000\000\000g\000\000\000n\000\000\000a\000\000\000t\000\000\000u\000\000\000r\000\000\000e\000\000\000:\000\000\000 \000\000\000\000\000\000")) + char2unicode(const char*)()’
Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #6 on: May 07, 2011, 10:10:42 PM »

oups....

Same thing :

Quote
ClientCreditsList.cpp:429:3: error: ambiguous overload for ‘operator+’ in ‘wxString(((const wchar_t*)"E\000\000\000r\000\000\000r\000\000\000o\000\000\000r\000\000\000 \000\000\000w\000\000\000h\000\000\000i\000\000\000l\000\000\000e\000\000\000 \000\000\000v\000\000\000e\000\000\000r\000\000\000i\000\000\000f\000\000\000y\000\000\000i\000\000\000n\000\000\000g\000\000\000 \000\000\000i\000\000\000d\000\000\000e\000\000\000n\000\000\000t\000\000\000i\000\000\000t\000\000\000y\000\000\000:\000\000\000 \000\000\000\000\000\000")) + char2unicode(const char*)()’
Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #7 on: May 07, 2011, 11:33:50 PM »

Just wrap a wxString() around the char2unicode(), like
Code: [Select]
AddDebugLogLineC(logCredits,
wxString(wxT("Failed to create new RSA keypair: ")) +
wxString(char2unicode(e.what())));
I've attached the patched file for you.
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

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #8 on: May 07, 2011, 11:44:01 PM »

Thank you for the file.

Good for this, now :

Quote
Logger.cpp:180:62: error: ambiguous overload for ‘operator+’ in ‘operator+(const wxString&, const wxChar*)(((const wchar_t*)":\000\000\000 \000\000\000\000\000\000")) + char2unicode(const char*)()’

Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #9 on: May 07, 2011, 11:50:06 PM »

Code: [Select]
AddLogLine(file, line, critical, logStandard,
cat.GetName() + wxT(": ") + wxString(char2unicode(msg.str().c_str())));
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

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #10 on: May 07, 2011, 11:55:49 PM »

Problem during link :

Code: [Select]
Linking amule
amule-ChatSelector.o:(.rodata._ZTV12CChatSession[vtable for CChatSession]+0x38c): undefined reference to `non-virtual thunk to wxTextCtrlBase::overflow(int)'
libs/common/libmulecommon.a(MuleDebug.o): In function `get_backtrace(unsigned int)':
/home/jl/Download/aMule/aMule-2.3.1rc1/src/libs/common/MuleDebug.cpp:406: undefined reference to `CFormat& CFormat::operator%<wxWCharBuffer>(wxWCharBuffer)'
./libmuleappgui.a(libmuleappgui_a-MuleTextCtrl.o):(.rodata._ZTV13CMuleTextCtrl[vtable for CMuleTextCtrl]+0x38c): undefined reference to `non-virtual thunk to wxTextCtrlBase::overflow(int)'
collect2: ld returned 1 exit status
make[3]: *** [amule] Erreur 1
make[2]: *** [all-recursive] Erreur 1
make[1]: *** [all-recursive] Erreur 1
make: *** [all] Erreur 2
Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #11 on: May 08, 2011, 12:10:02 AM »

Error 1 ("non-virtual thunk"): use current SVN instead of the rc

Error 2: my patch for MuleDebug.cpp:406 was bad, try
Code: [Select]
out.Insert(CFormat(wxT("%s:%u")) % wxString(wxConvCurrent->cMB2WX(s_file_name)) % s_line_number, i*2+1);
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

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #12 on: May 08, 2011, 12:11:09 AM »

With the SVN version you have to run autogen.sh and then configure.
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

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Building aMule on openSUSE >= 11.4
« Reply #13 on: May 08, 2011, 12:16:34 AM »

SVN 10561 has the OpenSuse fixes. Unless there are more problems.  ;)
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

Zoltic

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 17
Re: Building aMule on openSUSE >= 11.4
« Reply #14 on: May 08, 2011, 12:21:55 AM »

OK for the new patch on MuleDebug, it works.

I used autogen and configure when changing from "wxWidgets" to "wxWidgets-wxcontainer" and back.

For the SVN instead of the RC I'll do that tomorrow, it is midnight here and my day was a little hard.  :)

I'll write the result of tests after this operation.


Thank you for the "debug" online.

Quote
SVN 10561 has the OpenSuse fixes. Unless there are more problems. 

What problem ????? Only solutions.  ;)
Logged
Point n'est besoin d'espérer pour entreprendre ni de réussir pour persévérer. 
Charles de Valois-Bourgogne dit "Le Téméraire"
Pages: [1] 2