Originally posted by m2kio
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.
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!

) 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.
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.