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: WxMac 2.6.0 doesen't compile on Tiger  (Read 9811 times)

bj575bd

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 21
Re: WxMac 2.6.0 doesen't compile on Tiger
« Reply #15 on: May 04, 2005, 02:14:39 PM »

Hi,
i wasn't able to compile amule with gcc 4.0, i switched to 3.3 then i compiled wxmac 2.6.0 and the amule with the embended crypto.

When i tried to compile the crypto 5.2.1 with gcc 3.3 and then amule with no crypto with gcc 4.0 i received the same error as yours; so i was bored and i decided to compile all with gcc 3.3
« Last Edit: May 04, 2005, 02:15:19 PM by bj575bd »
Logged
******************
Warbird

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: WxMac 2.6.0 doesen't compile on Tiger
« Reply #16 on: May 04, 2005, 02:16:53 PM »

Quote
i think it's something related to ld command, but i don't know what this is. is there a way to solve ?
The only soultion is to use the same compiler for all.
Logged
concordia cum veritate

thedude0001

  • evil bugfinder ;)
  • Hero Member
  • *****
  • Karma: 6
  • Offline Offline
  • Posts: 827
Re: WxMac 2.6.0 doesen't compile on Tiger
« Reply #17 on: May 05, 2005, 08:24:19 AM »

As I just stumbled across this:
There's a patch for wx 2.6 compilation on Tiger on the wxwidgets homepage: http://wxwidgets.org/patch.htm#patches260

With this you should be able to compile everything with gcc4.0.
Logged
Das Schlimme auf dieser Welt ist
daß die Dummen so selbstsicher sind
und die Gescheiten so voller Zweifel.

m2kio

  • Full Member
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 152
    • http://little-bat.de
RE: Amule compilation problem on Tigger
« Reply #18 on: May 09, 2005, 08:29:13 PM »

Quote
Originally posted by bj575bd
CryptoPP.cpp: In member function `virtual void CryptoPP::InvertibleRSAFunction::GenerateRandom(CryptoPP::RandomNumberGenerator&, const CryptoPP::NameValuePairs&)':
CryptoPP.cpp:7905: error: cannot allocate an object of abstract type 'CryptoPP::NameValuePairs'
CryptoPP.h:606: note:   because the following virtual functions are pure within 'CryptoPP::NameValuePairs':
CryptoPP.h:687: note:  virtual bool CryptoPP::NameValuePairs::GetVoidValue(const char*, const std::type_info&, void*) const

this problem is still present in cvs-2005-05-09, so OSX10.4 Maccies still cannot use Tigger's default gcc 4.0. please fix!
How can it be bad that something is 'pure'? reverted world...

Quote
Originally posted by bj575bd
finally i get amule compiled on MacOsx Tiger only by switching the gcc version to 3.3 ('sudo gcc_select 3.3'), with the version 4.0 it doesn't compile.

thanks for that hint!  :) saved me to figure it out for myself. where is this documented?

... m2kio !
Logged

ken

  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 825
RE: Amule compilation problem on Tigger
« Reply #19 on: May 09, 2005, 10:34:42 PM »

Quote
Originally posted by m2kio
Quote
Originally posted by bj575bd
CryptoPP.cpp: In member function `virtual void CryptoPP::InvertibleRSAFunction::GenerateRandom(CryptoPP::RandomNumberGenerator&, const CryptoPP::NameValuePairs&)':
CryptoPP.cpp:7905: error: cannot allocate an object of abstract type 'CryptoPP::NameValuePairs'
CryptoPP.h:606: note:   because the following virtual functions are pure within 'CryptoPP::NameValuePairs':
CryptoPP.h:687: note:  virtual bool CryptoPP::NameValuePairs::GetVoidValue(const char*, const std::type_info&, void*) const

this problem is still present in cvs-2005-05-09, so OSX10.4 Maccies still cannot use Tigger's default gcc 4.0. please fix!
Unfortunately, we can't fix this.  The problem is that Apple's version of gcc4 is buggy.  The code is correct as is.  This compiler error shouldn't be happening.  When aMule is compiled with gcc4 on other platforms, it doesn't happen.

We might try to alter the code to work around Apple's buggy compiler, but the code isn't original to aMule.  It is a copy (with permission) of some files from a separate project, the Crypto++ library.  If we alter it, we start to diverge from the original.  That's not the end of the world, but it is undesirable.

Quote
How can it be bad that something is 'pure'? reverted world...
I know you're joking, but I'll explain anway.  (I am a smartass after all.  Hi, Kry! :D)  A pure virtual function is one which has no implementation.  It's a placeholder for functionality to be added later.  The compiler is complaining that such functionality wasn't provided, so there's just a hole in the program.  The compiler is wrong -- functionality was provided and the hole has been filled.

Quote
Quote
Originally posted by bj575bd
finally i get amule compiled on MacOsx Tiger only by switching the gcc version to 3.3 ('sudo gcc_select 3.3'), with the version 4.0 it doesn't compile.

thanks for that hint!  :) saved me to figure it out for myself. where is this documented?
In the developer tools release notes.  Also, there's a man page for gcc_select.  Panther also has gcc_select to let developers on Panther compile for Jaguar.
Logged
Pages: 1 [2]