aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Can't compile on AMD64  (Read 3215 times)

JLP

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
    • http://jlp.holodeck1.com/blog/
Can't compile on AMD64
« on: September 26, 2004, 05:25:46 PM »

I just tried to compile aMule 2.0.0rc5 on my Gentoo machine with GCC 3.4.2 in 64-bits for AMD64. It just couldn't finish compiling and I got this error:

In file included from amule.h:28,
                 from UploadQueue.cpp:50:
GuiEvents.h: In member function `bool Notify_Event_Msg::PtrLooksGood()':
GuiEvents.h:310: warning: cast from pointer to integer of different size
GuiEvents.h: In member function `void* PtrsXferClient::LU(const void*)':
GuiEvents.h:368: warning: cast from pointer to integer of different size
GuiEvents.h:368: warning: cast to pointer from integer of different size
if g++ -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include    -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers -I/usr/include/ -D__CRYPTO_MDK_SUSE_FC__    -MT amule-amule.o -MD -MP -MF ".deps/amule-amule.Tpo" \
  -c -o amule-amule.o `test -f 'amule.cpp' || echo './'`amule.cpp; \
then mv -f ".deps/amule-amule.Tpo" ".deps/amule-amule.Po"; \
else rm -f ".deps/amule-amule.Tpo"; exit 1; \
fi
amule.cpp:102:2: warning: #warning This ones must be removed ASAP - exception: amuledlg, will be the LAST one.
amule.cpp:656:4: warning: #warning we need to move this lowid warning to the GUI itself.
In file included from amule.h:28,
                 from amule.cpp:74:
GuiEvents.h: In member function `bool Notify_Event_Msg::PtrLooksGood()':
GuiEvents.h:310: warning: cast from pointer to integer of different size
GuiEvents.h: In member function `void* PtrsXferClient::LU(const void*)':
GuiEvents.h:368: warning: cast from pointer to integer of different size
GuiEvents.h:368: warning: cast to pointer from integer of different size
if g++ -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include    -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers -I/usr/include/ -D__CRYPTO_MDK_SUSE_FC__    -MT amule-amuleDlg.o -MD -MP -MF ".deps/amule-amuleDlg.Tpo" \
  -c -o amule-amuleDlg.o `test -f 'amuleDlg.cpp' || echo './'`amuleDlg.cpp; \
then mv -f ".deps/amule-amuleDlg.Tpo" ".deps/amule-amuleDlg.Po"; \
else rm -f ".deps/amule-amuleDlg.Tpo"; exit 1; \
fi
amuleDlg.cpp:484:2: warning: #warning This isnt the right textctrl!
amuleDlg.cpp:753:3: warning: #warning This will be here till the core close is != app close
In file included from amule.h:28,
                 from StatisticsDlg.h:31,
                 from amuleDlg.cpp:65:
GuiEvents.h: In member function `bool Notify_Event_Msg::PtrLooksGood()':
GuiEvents.h:310: warning: cast from pointer to integer of different size
GuiEvents.h: In member function `void* PtrsXferClient::LU(const void*)':
GuiEvents.h:368: warning: cast from pointer to integer of different size
GuiEvents.h:368: warning: cast to pointer from integer of different size
if gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include   -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers    -MT amule-gsocket.o -MD -MP -MF ".deps/amule-gsocket.Tpo" \
  -c -o amule-gsocket.o `test -f 'gsocket.c' || echo './'`gsocket.c; \
then mv -f ".deps/amule-gsocket.Tpo" ".deps/amule-gsocket.Po"; \
else rm -f ".deps/amule-gsocket.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include   -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers    -MT amule-eggtrayicon.o -MD -MP -MF ".deps/amule-eggtrayicon.Tpo" \
  -c -o amule-eggtrayicon.o `test -f 'eggtrayicon.c' || echo './'`eggtrayicon.c; \
then mv -f ".deps/amule-eggtrayicon.Tpo" ".deps/amule-eggtrayicon.Po"; \
else rm -f ".deps/amule-eggtrayicon.Tpo"; exit 1; \
fi
if g++ -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include    -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers -I/usr/include/ -D__CRYPTO_MDK_SUSE_FC__    -MT amule-SysTray.o -MD -MP -MF ".deps/amule-SysTray.Tpo" \
  -c -o amule-SysTray.o `test -f 'SysTray.cpp' || echo './'`SysTray.cpp; \
then mv -f ".deps/amule-SysTray.Tpo" ".deps/amule-SysTray.Po"; \
else rm -f ".deps/amule-SysTray.Tpo"; exit 1; \
fi
In file included from amule.h:28,
                 from SysTray.cpp:53:
GuiEvents.h: In member function `bool Notify_Event_Msg::PtrLooksGood()':
GuiEvents.h:310: warning: cast from pointer to integer of different size
GuiEvents.h: In member function `void* PtrsXferClient::LU(const void*)':
GuiEvents.h:368: warning: cast from pointer to integer of different size
GuiEvents.h:368: warning: cast to pointer from integer of different size
if gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include   -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers    -MT amule-gtk2-funcs.o -MD -MP -MF ".deps/amule-gtk2-funcs.Tpo" \
  -c -o amule-gtk2-funcs.o `test -f 'gtk2-funcs.c' || echo './'`gtk2-funcs.c; \
then mv -f ".deps/amule-gtk2-funcs.Tpo" ".deps/amule-gtk2-funcs.Po"; \
else rm -f ".deps/amule-gtk2-funcs.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..     -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include   -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers    -MT amule-gtkplugxembed.o -MD -MP -MF ".deps/amule-gtkplugxembed.Tpo" \
  -c -o amule-gtkplugxembed.o `test -f 'gtkplugxembed.c' || echo './'`gtkplugxembed.c; \
then mv -f ".deps/amule-gtkplugxembed.Tpo" ".deps/amule-gtkplugxembed.Po"; \
else rm -f ".deps/amule-gtkplugxembed.Tpo"; exit 1; \
fi
g++  -march=athlon64 -pipe -O2 -fomit-frame-pointer -frename-registers -I/usr/include/ -D__CRYPTO_MDK_SUSE_FC__      -o amule  amule-ListenSocket.o amule-ECSocket.o amule-EMSocket.o amule-AddFriend.o amule-AddFileThread.o amule-BarShader.o amule-BaseClient.o amule-ChatSelector.o amule-ChatWnd.o amule-CatDialog.o amule-CFile.o amule-ClientCredits.o amule-ClientDetailDialog.o amule-ClientList.o amule-ClientUDPSocket.o amule-ColorFrameCtrl.o amule-CommentDialog.oamule-CommentDialogLst.o amule-DirectoryTreeCtrl.o amule-DownloadClient.o amule-DownloadListCtrl.o amule-DownloadQueue.o amule-ED2KLink.o amule-EditServerListDlg.o amule-ExternalConn.o amule-FileDetailDialog.o amule-FileDetailListCtrl.o amule-filemem.o amule-filefn.o amule-Friend.o amule-FriendListCtrl.o amule-MuleGifCtrl.o amule-HTTPDownloadDlg.o amule-IPFilter.o amule-KnownFile.o amule-KadDlg.o amule-KnownFileList.o amule-listctrl.o amule-MD5Sum.o amule-MuleListCtrl.o amule-MuleNotebook.o amule-muuli_wdr.o amule-OScopeCtrl.o amule-otherfunctions.o amule-packets.o amule-PartFile.o amule-Preferences.o amule-PrefsUnifiedDlg.o amule-Preview.o amule-QueueListCtrl.o amule-SafeFile.o amule-SearchDlg.o amule-SearchList.o amule-SearchListCtrl.o amule-server.o amule-ServerList.o amule-ServerListCtrl.o amule-ServerSocket.o amule-ServerWnd.o amule-SharedFileList.o amule-SharedFilesCtrl.o amule-SharedFilesWnd.o amule-sockets.oamule-StatisticsDlg.o amule-TransferWnd.o amule-UDPSocket.o amule-UploadClient.o amule-UploadListCtrl.o amule-UploadQueue.o amule-amule.o amule-amuleDlg.oamule-gsocket.o  amule-eggtrayicon.o amule-SysTray.o amule-gtk2-funcs.o amule-gtkplugxembed.o   -pthread -lwx_gtk-2.4 -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -lz -L/usr/lib -lcurl -lidn -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lz -lcryptopp
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcryptopp
collect2: ld returned 1 exit status
make[4]: *** [amule] Error 1
make[4]: Leaving directory `/var/tmp/portage/amule-2.0.0_rc5/work/aMule-2.0.0rc5/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/amule-2.0.0_rc5/work/aMule-2.0.0rc5/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/amule-2.0.0_rc5/work/aMule-2.0.0rc5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/amule-2.0.0_rc5/work/aMule-2.0.0rc5'
make: *** [all] Error 2
Logged

stefanero

  • Some Support
  • Developer
  • Hero Member
  • *****
  • Karma: 8
  • Offline Offline
  • Posts: 4235
Re: Can't compile on AMD64
« Reply #1 on: September 26, 2004, 09:31:46 PM »

hey
ok first of all you seam to miss libcrypto++5.2.1

check wiki.amule.org there is a howto
if you still have problems
use wxGTK2.5.1 OR higher...and current amule CVS!!! (http://amule.hirnriss.net)
and use for compiling wxGTK
--enable-optimze --disable-gtk2 --with-gtk --prefix=/usr/
check your use flags if you want to use emere instead of download the tar.gz
for amule use
--enable-optimize --disable-debug --enable-embedded_crypto
the last option if you chose to simple use amule crypto libs instead of downloading libcrypto++5.2.1 compile will take a little bit longer but will work aswell
for further and different configure option use --help

you can also enable gtk2 in wxGTK but there are still some display bugs sometimes....depends on your gtk2 version....

hope taht helps

stefanero
btw: current CVS is really really good..so dont worry about stability or something like that
Logged
In its default setup, Windows XP on the Internet amounts to a car
parked in a bad part of town, with the doors unlocked, the key in
the ignition and a Post-It note on the dashboard saying, "Please
don't steal this."

phoenix

  • Evil respawning bird from aMule Dev Team
  • Developer
  • Hero Member
  • *****
  • Karma: 44
  • Offline Offline
  • Posts: 2503
  • The last shadow you'll ever see
Re: Can't compile on AMD64
« Reply #2 on: September 27, 2004, 10:53:12 AM »

JLP,

Thank you for posting, one problem that we have is that no dev has AMD64, so your post is very valuable to us.

lfroen, if you are reading this, please try to fix the warnings about cast from pointer to integer with different sizes.

Cheers!
Logged

lfroen

  • Guest
Re: Can't compile on AMD64
« Reply #3 on: September 27, 2004, 11:29:32 AM »

What size basic types have on AMD64 ?

sizeof(int, long, void *) - ?

I don't have access to AMD64
Logged

stefanero

  • Some Support
  • Developer
  • Hero Member
  • *****
  • Karma: 8
  • Offline Offline
  • Posts: 4235
Re: Can't compile on AMD64
« Reply #4 on: September 27, 2004, 01:13:30 PM »

I will get one for x-mass ;)

but as far as I know current CVS workes fine on AMD64 ....
Logged
In its default setup, Windows XP on the Internet amounts to a car
parked in a bad part of town, with the doors unlocked, the key in
the ignition and a Post-It note on the dashboard saying, "Please
don't steal this."

JLP

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
    • http://jlp.holodeck1.com/blog/
Re: Can't compile on AMD64
« Reply #5 on: September 27, 2004, 04:00:32 PM »

I think i have crypto++ 5.2.1 installed:

Code: [Select]
jlp@enterprise ~ $ ls /usr/include/crypto++/
3way.h      basecode.h  cryptlib.h  ecp.h       gf256.h     idea.h      mdc.h       oaep.h      queue.h     rsa.h       simple.h    trunhash.h  xtrcrypt.h
adler32.h   bench.h     default.h   elgamal.h   gf2n.h      integer.h   misc.h      oids.h      rabin.h     rw.h        skipjack.h  ttmac.h     xtr.h
aes.h       blowfish.h  des.h       eprecomp.h  gfpcrypt.h  iterhash.h  modarith.h  osrng.h     randpool.h  safer.h     smartptr.h  twofish.h   zdeflate.h
algebra.h   blumshub.h  dh2.h       esign.h     gost.h      lubyrack.h  modes.h     panama.h    rc2.h       seal.h      socketft.h  validate.h  zinflate.h
algparam.h  camellia.h  dh.h        factory.h   gzip.h      luc.h       modexppc.h  pch.h       rc5.h       secblock.h  square.h    wait.h      zlib.h
arc4.h      cast.h      dll.h       files.h     haval.h     mars.h      mqueue.h    pkcspad.h   rc6.h       seckey.h    stdcpp.h    wake.h
argnames.h  cbcmac.h    dmac.h      filters.h   hex.h       md2.h       mqv.h       polynomi.h  resource.h  serpent.h   strciphr.h  whrlpool.h
asn.h       channels.h  dsa.h       fips140.h   hmac.h      md4.h       nbtheory.h  pssr.h      rijndael.h  shacal2.h   tea.h       winpipes.h
base32.h    config.h    ec2n.h      fltrimpl.h  hrtimer.h   md5.h       network.h   pubkey.h    ripemd.h    sha.h       tiger.h     words.h
base64.h    crc.h       eccrypto.h  gf2_32.h    ida.h       md5mac.h    nr.h        pwdbased.h  rng.h       shark.h     trdlocal.h  xormac.h

and folder /usr/include/cryptopp/ is a link to /usr/include/crypto++/

I'll try with higher versions of wxGTK (although if I remember I disabled GTK support) and amule later.

Some usefull documentation about developing with AMD and AMD64 could maybe be found HERE.
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Can't compile on AMD64
« Reply #6 on: September 27, 2004, 06:06:15 PM »

You have the headers, and that' why it compiles. but check if you have libcryptopp.* around or if it has another name.


P.S: you can use --enable-embedded_crypto to avoid the use of external crypto lib
Logged