Summary: | xMule 1.8.2-r2 fails to compile with gcc3.4 on amd64 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jon Marston <jon.marston> |
Component: | Current packages | Assignee: | AMD64 Project <amd64> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | david+gentoo.org, hopeseekr, lavish, net-p2p |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
xmule-1.8.2-r2-gcc-3.4.patch
xmule-1.8.2-r2.diff |
Description
Jon Marston
2004-06-11 07:07:13 UTC
Created attachment 33406 [details, diff]
xmule-1.8.2-r2-gcc-3.4.patch
This patch is take from xMule CVS; applied to --enable-cryptopp which use
libcryptopp (dev-libs/crypto++) instead of the one came with xMule that will
fails when compiles using gcc-3.4. The ebuild diff will follow.
Created attachment 33407 [details, diff]
xmule-1.8.2-r2.diff
CC: net-p2p@gentoo.org for testing err, xmule-1.8.2-r2.diff should be: - einfo "please do: cp -a $RSCDIR/*.pm ~/.xMule" + einfo "please do: cp -a $RSCDIR ~/.xMule" sorry. I have fixed this in CVS. You may use the diff at your prerogative. Please note: THIS TOOK ME A *LONG* TIME...and it is due to Crypto++ issues. You have no idea how much i struggled on whether or not to totally do away w/ crypto++ w/ some other interface (!). http://cvs.gna.org/viewcvs/xmule/xmule/src/CryptoXMpp.h.diff?r1=1.4&r2=1.5&diff_format=u and http://cvs.gna.org/viewcvs/xmule/xmule/src/CryptoXMpp.cpp.diff?r1=1.2&r2=1.3&diff_format=u Cheers, -hope Hope, I saw the new xMule released and thought I could bump it but it fails. Then I tried the --enable-cryptopp, but it looks like that that option have not make it in the 1.8.2d release yet. Guess we (gcc-3.4) have to wait a little longer. thanks for the patches- please try xmule-1.8.2-r3 in portage now still broke on amd64: Compiling CommentDialogLst.cpp... In file included from ClientCredits.h:30, from updownclient.h:29, from CommentDialogLst.cpp:26: CryptoXMpp.h: In function `bool CryptoXMpp::IsAlignedOn(const void*, unsigned int)': CryptoXMpp.h:430: warning: cast from pointer to integer of different size CryptoXMpp.h:430: warning: cast from pointer to integer of different size Compiling CryptoXMpp.cpp... In file included from CryptoXMpp.cpp:71: CryptoXMpp.h: In function `bool CryptoXMpp::IsAlignedOn(const void*, unsigned int)': CryptoXMpp.h:430: warning: cast from pointer to integer of different size CryptoXMpp.h:430: warning: cast from pointer to integer of different size CryptoXMpp.h: At global scope: CryptoXMpp.h: In instantiation of `CryptoXMpp::CompileAssert< false>': CryptoXMpp.cpp:1006: instantiated from here CryptoXMpp.h:309: error: creating array with size zero (`-0x00000000000000001') CryptoXMpp.cpp: In function `void CryptoXMpp::AtomicInverseModPower2(CryptoXMpp::word*, CryptoXMpp::word, CryptoXMpp::word)': CryptoXMpp.cpp:2571: warning: left shift count >= width of type CryptoXMpp.cpp: In function `CryptoXMpp::word CryptoXMpp::SubatomicDivide(CryptoXMpp::word*, CryptoXMpp::word, CryptoXMpp::word)': CryptoXMpp.cpp:3845: warning: left shift count >= width of type CryptoXMpp.cpp: In static member function `static void CryptoXMpp::Integer::Divide(CryptoXMpp::word&, CryptoXMpp::Integer&, const CryptoXMpp::Integer&, CryptoXMpp::word)': CryptoXMpp.cpp:5097: warning: left shift count >= width of type CryptoXMpp.cpp:5098: warning: left shift count >= width of type CryptoXMpp.cpp: In member function `CryptoXMpp::word CryptoXMpp::Integer::Modulo(CryptoXMpp::word) const': CryptoXMpp.cpp:5144: warning: left shift count >= width of type CryptoXMpp.cpp: In function `void CryptoXMpp::xorbuf(byte*, const byte*, unsigned int)': CryptoXMpp.cpp:5626: warning: cast from pointer to integer of different size CryptoXMpp.cpp:5626: warning: cast from pointer to integer of different size CryptoXMpp.cpp: In function `void CryptoXMpp::xorbuf(byte*, const byte*, const byte*, unsigned int)': CryptoXMpp.cpp:5637: warning: cast from pointer to integer of different size CryptoXMpp.cpp:5637: warning: cast from pointer to integer of different size CryptoXMpp.cpp:5637: warning: cast from pointer to integer of different size make[1]: *** [CryptoXMpp.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/xmule-1.8.2-r3/work/xmule/src' make: *** [all] Error 2 pointers dont fit inside ints damnit :'( *cough* aesthetics. The patch does get applied. >>> Unpacking source... >>> Unpacking xmule-1.8.2c.tar.gz to /var/tmp/portage/xmule-1.8.2-r3/work >>> Unpacking xmule-1.8.2-gcc34.patch to /var/tmp/portage/xmule-1.8.2-r3/work unpack xmule-1.8.2-gcc34.patch: file format not recognized. Ignoring. * Applying xmule-1.8.2-gcc34.patch... [ ok ] >>> Source unpacked. However, xmule still doesn't compile - same errors w/ CryptoXMpp, line 309. If I had half a clue about pee plus plus..err, cee plus plus, I'd fix the bustage. *** Bug 54568 has been marked as a duplicate of this bug. *** Well, see above duplicate bug. It doesn't compile with gcc-3.3* either. It's just not 64bit clean. Well, let's either wait for the xMule developers to clean their code of 64bit bugs or for someone with _much_ time. I spent 2 hours on 1 header file and it didn't work after that. @Anyone: If you found patches or created one yourself, please test and the just reopen this bug or file a new one. Work around: $ emerge crypto++ $ CXXFLAGS="-DUSE_CRYPTO" emerge xmule you might have to add #ifdef USE_CRYPTO at the top and bottom of CryptoXMpp.cpp as well. |