Remoting SDK on Linux with Lazarus 1.6.4

I’m using a clean virtual machine running CentOs 7, Lazarus 1.6.4 (clean, no other components installed)

I’ve downloaded RemObjects Remoting SDK for Delphi and all Clients - 9.2.103.1311 and installed on a fresh PC so the files are exactly as extracted from the setup program.

I’ve copied the files from Windows to Linux as described here: RO&DA components installed in linux with Lazarus IDE

I am getting compiler errors trying to install the packages into Lazarus on Linux. Is this expected?

Things like uROPoweredByRemObjectsButton included in core packages, trying to compile VCL_reg on Linux etc

I can’t find any comprehensive instructions on RemObjects talk on how to properly edit the configure files/packages to compile on Lazaraus under linux…

If this mix of operating system flavor/version or the version of Lazarus isn’t supported, can you tell me which combinations of linux/lazarus do compile correctly

1 Like

can you provide these errors, pls?

Starting off, as I said, uROPoweredByRemObjectsButton is trying to compile and VCL_reg
I’m just trying to work out if its expected that I have to do a whole bunch of editing or whether I’m doing something wrong

Trying to install RemObjects_Core.lpk

For example, I could remove uROPoweredByRemObjectsButton from the package then edit line 40 of RemObjects_Core_Reg to say {$IFDEF RemObjects_VCL_Package instead of $IFNDEF but then I get compile errors in uROZeroConf about TRORegisterNetService not being found
I feel you need to try and compile it on Lazarus 1.4.6 yourself and work through all the changes that need to be made and let me know if this is expected or whether these problems should be corrected in a new build that you will release

I just don’t understand if I’m supposed to edit some .inc conditional variable or something and then it will work properly or not

I don’t have CentOs 7, but it was compiled with Lazarus 1.6.4 w/o any problem on Windows platform:

if you have any problem with uROPoweredByRemObjectsButton , you can safely remove this and RemObjects_VCL_Reg.pas units from RemObjects_Core.lpk.

Remoting SDK can work w/o this component.

Not testing it on Linux means you haven’t seen all the issues the If Defined(MSWindows) tags have caused
Shouldn’t this be something you guys do so the product works properly on the advertised platform?

define at the header of uROPoweredByRemObjectsButton.pas is related to Delphi platforms where VCL isn’t available.
you can put it inside {$IFNDEF FPC}..{$ENDIF}
I’ll fix it.

I’ve managed to compile the packages into the IDE by doing the following:
Removing uROPoweredByRemObjectsButton
Adding {$DEFINE RemObjects_OSX} in RemObjects.inc for Linux + Lazarus on CentOs7

The app created with a RemObjects Server control is crashing on startup so I might have more to post on this topic later

only Indy-based servers work on non-Windows platforms.
not sure, Indy supports CentOs7 or not …

I’m not sure about the Indy quote you’ve made… I’ve seen that written before but I now have a working ROSynapseSuperTCPServer running on Linux (Centos7) built from Lazarus 1.6.4 which received a request from a Delphi XE4 SuperSynapseTCPClient with an AES Envelope and a BINMessage and successfully sent back a date as per GetServerTime default function.

Some notes for others that find this article
You need to enable cthreads in the Project -> View Project Source of your Lazarus project
You’ll need to ensure the remobjects files are in the search paths of your project
I made the RODL on Delphi in Windows, which generated the Intf, Impl (used simple object rather than data module) and Invk files then copied these to linux and added them to my project. I commented out {$I RemObjects.inc} at the top of the 3 generated files because initially I was too lazy to figure out how to make search paths work properly in Lazarus but its probably good to include this. The rest of the code seemed to compile fine.