aMule Forum

English => en_Bugs => Topic started by: JLP on September 26, 2004, 05:25:46 PM

Title: Can't compile on AMD64
Post by: JLP 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
Title: Re: Can't compile on AMD64
Post by: stefanero 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
Title: Re: Can't compile on AMD64
Post by: phoenix 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!
Title: Re: Can't compile on AMD64
Post by: lfroen 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
Title: Re: Can't compile on AMD64
Post by: stefanero 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 ....
Title: Re: Can't compile on AMD64
Post by: JLP 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 (http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252,00.html).
Title: Re: Can't compile on AMD64
Post by: Kry 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