aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Amule cvs (29/04/05) compilation problem on tiger  (Read 2871 times)

bj575bd

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 21
Amule cvs (29/04/05) compilation problem on tiger
« on: April 30, 2005, 11:43:44 AM »

Hi,
another compilation problem now with amule itself:

if g++ -DHAVE_CONFIG_H -I. -I. -I.. -D__SYSTRAY_DISABLED__ -DUSE_WX_TRAY -I/usr/local/lib/wx/include/mac-ansi-release-2.6 -I/usr/local/include/wx-2.6 -D__WXMAC__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -DUSE_EMBEDDED_CRYPTO -W -Wall -g -ggdb -fno-inline -D__DEBUG__ -fmessage-length=0 -MT amule-CryptoPP.o -MD -MP -MF ".deps/amule-CryptoPP.Tpo" \
-c -o amule-CryptoPP.o `test -f 'CryptoPP.cpp' || echo './'`CryptoPP.cpp; \
then mv -f ".deps/amule-CryptoPP.Tpo" ".deps/amule-CryptoPP.Po"; \
else rm -f ".deps/amule-CryptoPP.Tpo"; exit 1; \
fi
CryptoPP.cpp: In member function `virtual void CryptoPP::InvertibleRSAFunction::GenerateRandom(CryptoPP::RandomNumberGener
ator&, 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
make[3]: *** [amule-CryptoPP.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

To try to solve this issue i downloaded a new version of crypto++ (5.2.1) from: http://www.eskimo.com/~weidai/cryptlib.html#download
i have unzipped in my home and i have run ./configure --disable-systray --disable-gtk --with-wx-config=/usr/local/bin/wx-config --with-crypto-prefix=/Users//cryptopp521/
but same error.
Logged
******************
Warbird

ken

  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 825
Re: Amule cvs (29/04/05) compilation problem on tiger
« Reply #1 on: May 01, 2005, 05:29:26 PM »

Weird.  As far as I can tell, the class being allocated is a concrete class derived from the abstract NameValuePairs.  It does declare a non-pure-virtual override of the pure-virtual from the base.

There may be a change to certain language rules which causes this not to be valid under C++, or this may be a bug in gcc4.

Also, aMule uses internal copies of Crypto++ source files.  Downloading and installing the lib wouldn't address this bug because aMule is still using its internal copies.  However, it does serve as a proof that the new Crypto++ sources do compile with gcc4.

So, I will bring up the issue of updating aMule's internal copies of these source files to the new versions.
Logged

Xaignar

  • Admin and Code Junky
  • Hero Member
  • *****
  • Karma: 19
  • Offline Offline
  • Posts: 1103
Re: Amule cvs (29/04/05) compilation problem on tiger
« Reply #2 on: May 01, 2005, 10:21:26 PM »

I'm curious, did Crypto++ 5.2.1 actually compile or did it fail with the same error? I'm not certain which it is from your post.
Logged

bj575bd

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 21
Re: Amule cvs (29/04/05) compilation problem on tiger
« Reply #3 on: May 02, 2005, 08:40:18 AM »

Crypto++ 5.2.1 doesn't compile with gcc 4.0 (the default in tiger), the gcc version must be switched to 3.3 with gcc_select.

Finally i get amule compiled only setting the version of gcc to 3.3 and after following the default compilation howto using the embended crypto in amule cvs.

With gcc 4.0 i think there is no chance to get it compile for now.
Logged
******************
Warbird