We'll look into this, but no Crypto++ is included in the static libraries. Can you provide more information? Which library are you using (i386, amd64, armv4?)
Static libraries of TA 3.4.7 for Linux requires now crypto++ library (http://www.cryptopp.com/wiki/Linux#Compiling_and_Linking).
Is this mistake or intention without note in release notes?
We'll look into this, but no Crypto++ is included in the static libraries. Can you provide more information? Which library are you using (i386, amd64, armv4?)
I have just upgraded library from 3.4.6 to 3.4.7, and I am not able to compile the project now.If I added -lcryptopp flag, then it is possible to compile project without any other changes.
/usr/local/src/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::RSAFunction::~RSAFunction()':Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x22): undefined reference to `vtable for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x6c): undefined reference to `VTT for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x99): undefined reference to `VTT for CryptoPP::RSAFunction'
We'll look into this.
Have you found something?
No, sorry, we haven't looked yet. We were in a push to get 4.0 out last week. We'll look into this this week.
Hi Martin,which distribution are you using? On Ubuntu 14.04 I don't have problems (and crypto++ is not installed).
Ubuntu 14.04, 15.04, 16.04; Debian 7, 8; Fedora 21, 22; CentOS 6, 7.In that case, I am missing some dependency, which is new, because TA 3.4.6 was possible to compile on each of these platforms.
BTW I am using docker containers, but I doubt it is connected with it.
Hello again,
I am having the same issue with the latest 4.0.5 libraries as well:
/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::RSAFunction::~RSAFunction()':Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x22): undefined reference to `vtable for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x6c): undefined reference to `VTT for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x99): undefined reference to `VTT for CryptoPP::RSAFunction'/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::RSAFunction::RSAFunction()':Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x1f): undefined reference to `VTT for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x49): undefined reference to `vtable for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x8f): undefined reference to `VTT for CryptoPP::RSAFunction'/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::Base64Encoder::Base64Encoder(CryptoPP::BufferedTransformation*, bool, int)':
I have found out, that I need to use `-lcrypto` because of other components in our source code.I have tried to remove this, set it before TA, after TA, but nothing helped.This is possible with TA 3.4.6 (set `-lcrypto` after linking static TA).
Could you, please, look and this and find a solution?
Hi Wyatt,
I've now the same problem of Martin afetr the upgrade to TA 4.0.5 amd64 on Ubuntu 14.04, . Does it makes sense if I can send you my application (its based on Qt4.8 + CMake)?
Thanks in advance,
Alessandro
Hi,
No progress with this issue?
I am still having the issue, even if I remove `-lcrypto`:
-L/usr/local/lib -lgdal -lsqlite3 -ljpeg -lpng -lcurl -L/usr/lib -lwebp -lwebpmux /usr/local/src/TurboActivate/amd64/libTurboActivate.a -lrt -L/usr/local/src/TurboActivate/amd64 -lTurboFloat -lpthread /usr/local/src/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::RSAFunction::~RSAFunction()':Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x22): undefined reference to `vtable for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x6c): undefined reference to `VTT for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionD1Ev[_ZN8CryptoPP11RSAFunctionD1Ev]+0x99): undefined reference to `VTT for CryptoPP::RSAFunction'/usr/local/src/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::RSAFunction::RSAFunction()':Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x1f): undefined reference to `VTT for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x49): undefined reference to `vtable for CryptoPP::RSAFunction'Activation.cpp:(.text._ZN8CryptoPP11RSAFunctionC1Ev[_ZN8CryptoPP11RSAFunctionC1Ev]+0x8f): undefined reference to `VTT for CryptoPP::RSAFunction'/usr/local/src/TurboActivate/amd64/libTurboActivate.a(Activation.o): In function `CryptoPP::Base64Encoder::Base64Encoder(CryptoPP::BufferedTransformation*, bool, int)':Activation.cpp:(.text._ZN8CryptoPP13Base64EncoderC1EPNS_22BufferedTransformationEbi[_ZN8CryptoPP13Base64EncoderC1EPNS_22BufferedTransformationEbi]+0x77): undefined reference to `vtable for CryptoPP::Base64Encoder'
We can reproduce this. We're working on a fix.
There was a problem with our linking script for the static libraries on Linux. We've fixed the problem in the next release (TA 4.0.8) out soon. Thanks for reporting this.
In the meantime use our dynamic libraries.
We're either going to release 4.0.8 this week, or make a special 4.0.7.4 release for linux-only to fix the static libraries alone.
One way or the other it will be fixed this week.
4.0.8 is out now and fixes this bug: https://wyday.com/limelm/api/#turboactivate
Hello Wyat,
We have finally upgraded TA to the latest 4.0.9.6, and we can confirm, that this error with linking static TA on Linux is fixed and working as expected.
Thanks again for your help, and sorry for such delayed acknowledge.