aMule Forum

English => Compilation problems => Topic started by: Pazzeo on September 20, 2015, 09:01:52 PM

Title: Optware problem
Post by: Pazzeo on September 20, 2015, 09:01:52 PM
Hi all,

I'm trying to cross-compile the last development tarballs, the toolchain used is optware.

I have the following error:

Code: [Select]
/home/optware/cs05q1armel/toolchain/arm-none-linux-gnueabi/gcc-2005q1-glibc-2.3.4/bin/arm-none-linux-gnueabi-g++ -W -Wall -Wshadow -Wundef -O2 -pthread   -lpthread -L/home/optware/cs05q1armel/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/optware/cs05q1armel/staging/opt/lib  -o amulecmd amulecmd-TextClient.o amulecmd-ExternalConnector.o amulecmd-LoggerConsole.o amulecmd-OtherFunctions.o amulecmd-NetworkFunctions.o  -Llibs/common -Llibs/ec/cpp -L. -lmulecommon -lec -lmulesocket -L/home/optware/cs05q1armel/staging/opt/lib -pthread   -lwx_baseu_net-3.0-arm-none-linux-gnueabi -lwx_baseu-3.0-arm-none-linux-gnueabi  -lreadline  -L/home/optware/cs05q1armel/staging/opt/lib -lz
amulecmd-TextClient.o:(.rodata._ZTI12CTagIntSized[typeinfo for CTagIntSized]+0x8): undefined reference to `typeinfo for CTag'
amulecmd-TextClient.o:(.rodata._ZTI9CTagFloat[typeinfo for CTagFloat]+0x8): undefined reference to `typeinfo for CTag'
amulecmd-TextClient.o:(.rodata._ZTI10CTagString[typeinfo for CTagString]+0x8): undefined reference to `typeinfo for CTag'
amulecmd-TextClient.o:(.rodata._ZTI8CTagBsob[typeinfo for CTagBsob]+0x8): undefined reference to `typeinfo for CTag'
amulecmd-TextClient.o:(.rodata._ZTI8CTagBlob[typeinfo for CTagBlob]+0x8): undefined reference to `typeinfo for CTag'
amulecmd-TextClient.o: In function `CTagIntSized::~CTagIntSized()':
TextClient.cpp:(.text._ZN12CTagIntSizedD1Ev[CTagIntSized::~CTagIntSized()]+0x10): undefined reference to `CTag::~CTag()'
amulecmd-TextClient.o: In function `CTagIntSized::~CTagIntSized()':
TextClient.cpp:(.text._ZN12CTagIntSizedD0Ev[CTagIntSized::~CTagIntSized()]+0x10): undefined reference to `CTag::~CTag()'
amulecmd-TextClient.o: In function `CTagVarInt::~CTagVarInt()':
TextClient.cpp:(.text._ZN10CTagVarIntD1Ev[CTagVarInt::~CTagVarInt()]+0x10): undefined reference to `CTag::~CTag()'
amulecmd-TextClient.o: In function `CTagVarInt::~CTagVarInt()':
TextClient.cpp:(.text._ZN10CTagVarIntD0Ev[CTagVarInt::~CTagVarInt()]+0x10): undefined reference to `CTag::~CTag()'
amulecmd-TextClient.o: In function `CTagInt64::~CTagInt64()':
TextClient.cpp:(.text._ZN9CTagInt64D1Ev[CTagInt64::~CTagInt64()]+0x10): undefined reference to `CTag::~CTag()'
amulecmd-TextClient.o:TextClient.cpp:(.text._ZN9CTagInt64D0Ev[CTagInt64::~CTagInt64()]+0x10): more undefined references to `CTag::~CTag()' follow
collect2: ld returned 1 exit status
Makefile:1217: recipe for target 'amulecmd' failed
 

Could you help me please,
Thanks
Matteo
Title: Re: Optware problem
Post by: GonoszTopi on September 21, 2015, 05:05:58 AM
What compiler version are you using?
Title: Re: Optware problem
Post by: Pazzeo on September 21, 2015, 10:38:35 AM
Hi,

The compiler is version of 3.4.3:

Code: [Select]
/home/optware/cs05q1armel/toolchain/arm-none-linux-gnueabi/gcc-2005q1-glibc-2.3.4/bin$ ./arm-none-linux-gnueabi-g++ --version
arm-none-linux-gnueabi-g++ (GCC) 3.4.3 (release) (CodeSourcery ARM Q1B 2005)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Regards,
Pazzeo
Title: Re: Optware problem
Post by: GonoszTopi on September 22, 2015, 01:19:56 PM
Yeah, my guess was something like that. The problem is that the compiler emits code even for unused inline functions, which makes the linker fail. I'll see if I can come up with some kind of workaround.
Title: Re: Optware problem
Post by: Pazzeo on September 24, 2015, 07:39:06 PM
Thanks a lot, I will wait your feedback crossing the fingers :)

Regards
Matteo
Title: Re: Optware problem
Post by: GonoszTopi on October 02, 2015, 12:06:36 AM
I made some reorganization in the headers, that may possibly solve your problem. Please try the latest version from https://github.com/amule-project/amule
Title: Re: Optware problem
Post by: Pazzeo on October 03, 2015, 12:22:04 PM
Thanks GonoszTopi, I passed the critical point, but now I have the following error:

Code: [Select]
/home/optware/cs05q1armel/staging/opt/lib/libcryptopp.a(gfpcrypt.o): In function `CryptoPP::AlgorithmImpl<CryptoPP::DL_SignerBase<CryptoPP::Integer>, CryptoPP::DSA2<CryptoPP::SHA1> >::AlgorithmName() const':
/home/optware/cs05q1armel/builds/crypto++/cryptlib.h:131: multiple definition of `CryptoPP::AlgorithmImpl<CryptoPP::DL_SignerBase<CryptoPP::Integer>, CryptoPP::DSA2<CryptoPP::SHA1> >::AlgorithmName() const'
/home/optware/cs05q1armel/staging/opt/lib/libcryptopp.a(dll.o):/home/optware/cs05q1armel/builds/crypto++/cryptlib.h:132: first defined here
/home/optware/cs05q1armel/staging/opt/lib/libcryptopp.a(rsa.o): In function `CryptoPP::AlgorithmImpl<CryptoPP::TF_VerifierBase, CryptoPP::TF_SS<CryptoPP::PKCS1v15, CryptoPP::SHA1, CryptoPP::RSA, int> >::AlgorithmName() const':
/home/optware/cs05q1armel/builds/crypto++/cryptlib.h:131: multiple definition of `CryptoPP::AlgorithmImpl<CryptoPP::TF_VerifierBase, CryptoPP::TF_SS<CryptoPP::PKCS1v15, CryptoPP::SHA1, CryptoPP::RSA, int> >::AlgorithmName() const'
amuled-ClientCreditsList.o:ClientCreditsList.cpp:(.text._ZNK8CryptoPP13AlgorithmImplINS_15TF_VerifierBaseENS_5TF_SSINS_8PKCS1v15ENS_4SHA1ENS_3RSAEiEEE13AlgorithmNameEv[non-virtual thunk to CryptoPP::AlgorithmImpl<CryptoPP::TF_VerifierBase, CryptoPP::TF_SS<CryptoPP::PKCS1v15, CryptoPP::SHA1, CryptoPP::RSA, int> >::AlgorithmName() const]+0x8): first defined here
/home/optware/cs05q1armel/toolchain/arm-none-linux-gnueabi/gcc-2005q1-glibc-2.3.4/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.3/../../../../arm-none-linux-gnueabi/bin/ld: Warning: size of symbol `CryptoPP::AlgorithmImpl<CryptoPP::TF_VerifierBase, CryptoPP::TF_SS<CryptoPP::PKCS1v15, CryptoPP::SHA1, CryptoPP::RSA, int> >::AlgorithmName() const' changed from 20 in amuled-ClientCreditsList.o to 296 in /home/optware/cs05q1armel/staging/opt/lib/libcryptopp.a(rsa.o)
collect2: ld returned 1 exit status

Thanks for the help
Pazzeo
Title: Re: Optware problem
Post by: GonoszTopi on October 05, 2015, 09:31:09 AM
I'm afraid I cannot do much about this problem. You can try using older versions of crypto++, that may or may not resolve the problem (I guess not, but that's just a rough guess). Best would be if possible to update your linker (binutils) you use for cross-compiling. (And just out of curiosity, what ld version are you currently using?)