Android problem

All announcements, questions and issues related to the TsiLang Components Suite.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Android problem

Post by Malcolm »

Hi

I just tried to add TsiLang to my small, working Android project (FMX).
But when I try to build or compile I get errors about missing .dcu and .o files.

I see that my design packages include TsiLang Component Suite (VCL Edition) and there are no runtime packages for TsiLang.

Does this mean that I have missed something from my installation (7.1) or is TsiLang not available for FMX projects?

Malcolm
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

FMX compiled units are installed under specific sub-folder which is not added to Library path automatically. So you just need to add this sub-folder to your project's library settings. Android units are installed under "Android" sub-folder.
Best regards,
Igor Siticov.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Post by Malcolm »

OK, by adding the TsiLang\Units\ERS XE5\Android folder, the compiler finds the four .dcu files.

But now it can't find the *.o files, and they are nowhere on my computer.
So how do I create them?
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Both DCUs and Os files were installed into this folder. May be you've deleted them? Try to re-install in case they were deleted.
Best regards,
Igor Siticov.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Post by Malcolm »

That did not help. Very strange. :cry:

I uninstalled including Reg entries. That removed all but my .dic file

I ran the 7_1 setup as Administrator
I selected only the RAD Studio XE5 IDE plus the SIL Editor, Dictionary, Help and Wizards.

After the install the Units\ERS XE5\ folders for Android, iOS and OSX32 contain only the 4 .DCU files

No sign of any Android .o files.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Post by Malcolm »

To add to the above, I installed only Delphi, not the C++
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Sorry for this. You was right. The Full Source install script didn't include the .o files. We've fixed the script. You can download the .o files from http://www.sicomponents.com/tmp/Android.zip
Best regards,
Igor Siticov.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Post by Malcolm »

Hi

I confirm that the install script now includes the .o files, thanks.

However, I now get build errors such as shown below. Note the references to "F:\Auxiliary/....... I am not sure where this path comes from.

[DCC Error] E2597 C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\Program Files\SiComponents\TsiLang\Units\ERS XE5\Android\siConsts.o: in function System::Generics::Collections::TEnumerable__1<System::DelphiObject<System::Classes::TComponent> >::ToArray():F:\Auxilary/siConsts.pas:2280: error: undefined reference to 'System::_InstCopy(System::DelphiObject<System::TObject>&, System::DelphiObject<System::TObject>)'

..followed by a lot of similar errors..

Is that me? Or where does the "F:\Auxiliary come from?

Malcolm
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

I'm not sure how Android compiler produces .o files but I can see F:\Auxilary reference in siConsts.o file. Actually "F:\Auxilary" is a path on our build station so may be the compiler uses some paths in .o file. But this is quite strange.
BUT as you have Full Source Edition you can easily re-build your project using TsiLang sources and produce compiled project on your side. Just be sure to define FMX in your Android project that uses TsiLang and add path to sources to project's options.
Please let me know if this helped.
Best regards,
Igor Siticov.
Malcolm
Posts: 114
Joined: Tue Jan 21, 2003 5:18 pm
Location: Scotland

Post by Malcolm »

Hi Igor

I suspected that it might be some path from your system.
Re-compiling is outside my comfort zone, so I will abandon the translation for now.

My project is in alpha now, so I can leave the translation until later. Hopefully these glitches will have been resolved by then in some update.

Malcolm
Brov84
Posts: 2
Joined: Mon Jan 20, 2014 9:30 am

Post by Brov84 »

Hi,

i have the same problem ([DCC Error] E2597 C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\Program Files\SiComponents\TsiLang\Units\ERS XE5\Android\siConsts.o: in function System::Generics::Collections::TEnumerable__1<System::DelphiObject<System::Classes::TComponent> >::ToArray():F:\Auxilary/siConsts.pas:2280: error: undefined reference to 'System::_InstCopy(System::DelphiObject<System::TObject>&, System::DelphiObject<System::TObject>)' ) with the Full Source component version.

How can i fix it?
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Re-building sources fixed the problem.
Best regards,
Igor Siticov.
Dimitris Nomikos
Posts: 6
Joined: Fri Jan 24, 2014 1:51 pm

Post by Dimitris Nomikos »

Hello,

i'm having the same problem as the people above...

isiticov can you tell us some steps on how to do that? Tried cleaning my project and rebuild again but i got the same error.
isiticov
Site Admin
Posts: 2383
Joined: Thu Nov 21, 2002 3:17 pm

Post by isiticov »

Hello,

1. Add path to TsiLang units folder and Auxiliary sub-folder to your project's library path settings.
2. Add FMX conditional define to your project's options.
3. Re-build of your project.
Best regards,
Igor Siticov.
Dimitris Nomikos
Posts: 6
Joined: Fri Jan 24, 2014 1:51 pm

Post by Dimitris Nomikos »

In Tool, Options, Library, Android Platform, Library Path: i added C:\Program Files\SiComponents\TsiLang\Units\ERS XE5\Android

and on the Main Unit of the project i have siComp on my uses section. I still get the linker error.

Which folder do you mean as 'Auxiliary sub-folder'? Is this the only thing i am missing?
Post Reply