Downloads  |  Buy

Linker Error when compiling Delphi Firemonkey

Linker Error when compiling Delphi Firemonkey

Postby mikejb » February 13th, 2020, 8:17 pm

Delphi Rio 10.3.2, Firemonkey App targeting MacOS (dev machine is 10.14.6)
I've compiled and run just fine for MacOS 32 bit using libTurboActivate.dylib version 4.0.9.6 but now I'm trying to compile to MacOS 64 bit.

I got the new libTurboActivate.dylib (4.3.0.0) and I still get the following error when I compile. The warning for LiteDACRio is odd because I compile other apps using that control with no problem - 32 and 64 bit (without LimeLM).

Does libTurboActivate.dylib use sqlite3osx64.o internally? Maybe a conflict?

(CS.Activate.pas is my renamed version of TurboActivateUnit.pas)

[dccosx64 Error] E2597 ld: warning: object file (D:\CommonControls\LiteDACRio\Lib\OSX64\sqlite3osx64.o) was built for newer OSX version (10.11) than being linked (10.8)
Undefined symbols for architecture x86_64:
Error: "__TA_GetHandle", referenced from: __ZN2Cs8Activate12TA_GetHandleEPc in CS.Activate.o;
Error: "__TA_CheckAndSavePKey", referenced from: __ZN2Cs8Activate19TA_CheckAndSavePKeyEmPcm in CS.Activate.o;
Error: "__TA_PDetsFromPath", referenced from: __ZN2Cs8Activate16TA_PDetsFromPathEPc in CS.Activate.o;
Error: "__TA_ActivateFromFile", referenced from: __ZN2Cs8Activate19TA_ActivateFromFileEmPc in CS.Activate.o;
Error: "__TA_Activate", referenced from: __ZN2Cs8Activate11TA_ActivateEmPv in CS.Activate.o;
Error: "__TA_GetExtraData", referenced from: __ZN2Cs8Activate15TA_GetExtraDataEmPci in CS.Activate.o;
Error: "__TA_ActivationRequestToFile", referenced from: __ZN2Cs8Activate26TA_ActivationRequestToFileEmPcPv in CS.Activate.o;
Error: "__TA_Deactivate", referenced from: __ZN2Cs8Activate13TA_DeactivateEmb in CS.Activate.o;
Error: "__TA_DeactivationRequestToFile", referenced from: __ZN2Cs8Activate28TA_DeactivationRequestToFileEmPcb in CS.Activate.o;
Error: "__TA_GetFeatureValue", referenced from: __ZN2Cs8Activate18TA_GetFeatureValueEmPcS1_i in CS.Activate.o;
Error: "__TA_GetPKey", referenced from: __ZN2Cs8Activate10TA_GetPKeyEmPci in CS.Activate.o;
Error: "__TA_UseTrial", referenced from: __ZN2Cs8Activate11TA_UseTrialEmmPc in CS.Activate.o;
Error: "__TA_IsActivated", referenced from: __ZN2Cs8Activate14TA_IsActivatedEm in CS.Activate.o;
Error: "__TA_IsDateValid", referenced from: __ZN2Cs8Activate14TA_IsDateValidEmPcm in CS.Activate.o;
Error: "__TA_TrialDaysRemaining", referenced from: __ZN2Cs8Activate21TA_TrialDaysRemainingEmmRm in CS.Activate.o;
Error: "__TA_IsGenuine", referenced from: __ZN2Cs8Activate12TA_IsGenuineEm in CS.Activate.o;
Error: "__TA_IsGenuineEx", referenced from: __ZN2Cs8Activate14TA_IsGenuineExEmPv in CS.Activate.o;
Error: "__TA_UseTrialVerifiedRequest", referenced from: __ZN2Cs8Activate26TA_UseTrialVerifiedRequestEmPcS1_ in CS.Activate.o;
Error: "__TA_GenuineDays", referenced from: __ZN2Cs8Activate14TA_GenuineDaysEmmmRmRh in CS.Activate.o;
Error: "__TA_IsProductKeyValid", referenced from: __ZN2Cs8Activate20TA_IsProductKeyValidEm in CS.Activate.o;
Error: "__TA_SetCustomProxy", referenced from: __ZN2Cs8Activate17TA_SetCustomProxyEPc in CS.Activate.o;
Error: "__TA_UseTrialVerifiedFromFile", referenced from: __ZN2Cs8Activate27TA_UseTrialVerifiedFromFileEmPcm in CS.Activate.o;
Error: "__TA_ExtendTrial", referenced from: __ZN2Cs8Activate14TA_ExtendTrialEmmPc in CS.Activate.o;
ld: symbol(s) not found for architecture x86_64
[dccosx64 Fatal Error] F2588 Linker error code: 1 ($00000001)
mikejb
 
Posts: 5
Joined: May 4th, 2018, 9:32 am

Re: Linker Error when compiling Delphi Firemonkey

Postby Guest » February 14th, 2020, 7:27 am

Did some more testing.
I created a new blank project.
I added the TurboActivateUnit (from the download) to the Uses clause and wrote Caption := IntToStr(TA_SYSTEM); in the FormCreate.
I added libTurboActivate.dylib to the deployment for OSX32/64.
Tried to run without debugging and I get:

[dccosx64 Error] E2597 Undefined symbols for architecture x86_64:
Error: "__TA_GetHandle", referenced from: __ZN17Turboactivateunit12TA_GetHandleEPc in TurboActivateUnit.o;
Error: "__TA_CheckAndSavePKey", referenced from: __ZN17Turboactivateunit19TA_CheckAndSavePKeyEmPcm in TurboActivateUnit.o;
Error: "__TA_PDetsFromPath", referenced from: __ZN17Turboactivateunit16TA_PDetsFromPathEPc in TurboActivateUnit.o;
yada yada yada.
Guest
 

Re: Linker Error when compiling Delphi Firemonkey

Postby Wyatt » February 14th, 2020, 7:44 am

You're probably not linking to the libTurboActivate.dylib (hence, it can't find the symbols).

https://wyday.com/limelm/help/using-turboactivate-with-delphi/#firemonkey-macos

macOS 64-bit deployment.
User avatar
Wyatt
Site Admin
 
Posts: 6235
Joined: July 11th, 2007, 10:30 pm
Location: New Hampshire

Re: Linker Error when compiling Delphi Firemonkey

Postby Guest » February 14th, 2020, 8:56 am

No, I've added the dylib to the deployment. I've tried the mac demo app that you distribute (after adding the dylib to the deployment). Same thing. I saw the StackOverflow post on this. It's probably a Delphi compiler bug.

As a vendor, you should probably put some pressure on Embarcadero, as with Catalina and everything having to be 64-bit, it totally closes out the Firemonkey market for you.

I guess we'll just remove LimeLM from our products. This really sets back our launch timeframe.
Guest
 

Re: Linker Error when compiling Delphi Firemonkey

Postby Guest » February 14th, 2020, 8:58 am

Oh, and I've built several 64-bit Firemonkey apps that use 3rd party 64-bit dylibs, and they compile fine.
Guest
 

Re: Linker Error when compiling Delphi Firemonkey

Postby Wyatt » February 14th, 2020, 12:22 pm

We'll try to reproduce this today.
User avatar
Wyatt
Site Admin
 
Posts: 6235
Joined: July 11th, 2007, 10:30 pm
Location: New Hampshire

Re: Linker Error when compiling Delphi Firemonkey

Postby Wyatt » February 14th, 2020, 3:26 pm

Honestly, there are bugs in Delphi that we don't have time to workaround. We'll get to it eventually and update our articles.

Delphi and Adobe AIR are like this. Break things, poor support, make 3rd parties work around their broken software.

If you have a choice, switch programming languages. If not, we'll eventually write a workaround for their buggy designs.
User avatar
Wyatt
Site Admin
 
Posts: 6235
Joined: July 11th, 2007, 10:30 pm
Location: New Hampshire


Return to LimeLM, TurboActivate, & TurboFloat Support