Jump to content
DelphiUdIT

Bug - Linux 64 Compiled

Recommended Posts

In the latest daily repository available (today 02/21/2022), compiling for Linux64 there are two "probable" bugs:
1) In the file OverbyetIcsSslX509certs.pas on line 1836 the definition of the TMsCertTools class is missing. Solved like this:

     {$ IFDEF MSWINDOWS}
       FNewSslCert: = TMsCertTools.Create (self); {V8.67 was TSslCertTools}
     {$ ELSE}
       FNewSslCert: = TSSlCertTools.Create (self);
     {$ ENDIF}

  2) In the file OverbyteIcsMailQueue.pas on line 2182 the definition of SetEndofFile is missing (in Linux it does not exist), replaced as follows:

           {$ IFDEF MSWINDOWS}
             SetEndOfFile (FHandle); // truncate file size
           {$ ELSE}
             ftruncate (FHandle, Count); // truncate file size
           {$ ENDIF}

Inserted in the uses the unit Posix.UniStd
Changes not tested yet, but the build is done.

 

PS: I will send you a postcard as soon as possible :classic_biggrin:


Bye

Edited by DelphiUdIT
  • Thanks 1

Share this post


Link to post
2 hours ago, DelphiUdIT said:
1 hour ago, Angus Robertson said:

Thanks, both fixes done in my local copy, will be in SVN in a few days.

 

Angus

 

Ok, take care about the new line inserted "ftruncate (FHandle, Count)": It may be that the line is also  "ftruncate (FHandle, FLen)", I don't know which of the two variables is correct to be used..

 


           {$ IFDEF MSWINDOWS}
             SetEndOfFile (FHandle); // truncate file size
           {$ ELSE}
             ftruncate (FHandle, Count); // <- ftruncate (FHandle, FLen); ????
           {$ ENDIF}

 

Bye

 

Edited by DelphiUdIT

Share this post


Link to post

Yes, ICS should build on Linux, but is awaiting a Linux expert to update the MacOS message handler code to proper Linux. 

 

Angus

 

Share this post


Link to post
37 minutes ago, Angus Robertson said:

Yes, ICS should build on Linux, but is awaiting a Linux expert to update the MacOS message handler code to proper Linux. 

 

Angus

 

Yep, I did successful build myself and stuck on missing message engine. That's why I asked if he managed to get ICS working. Hmm, FMX should have its own message loop, probably it would be pretty easy to utilize compared to native KQueue or something similar?

Share this post


Link to post

Sorry, I didn't realize the question was for me ... :classic_blink:
No, I only compiled for Linux. I wanted to see if everything was standing with Linux because I should start with a project with which the ICS components would suit me.

 

But I haven't done anything yet "run" ...

I don't know when I'll start, and I'm not a master in Linux programming.

 

Bye

Share this post


Link to post
58 minutes ago, DelphiUdIT said:

But I haven't done anything yet "run" ...

Well, that's the most important stage. Currently ICS builds successfully for Linux but doesn't have its cornerstone feature - a message loop - implemented. So it won't suit you until it's done. I gave a look at it but it seemed too complicated - I even didn't realize where the message poll code should be placed. So I gave up for the time - the need was not so urgent and Wine seems to do pretty well.

Share this post


Link to post

Long time ago, back in 2005, I implemented ICS for Linux. This was at the time of Kylix. The latest version was named "ICS for Kylix 3". Of course this code won't work with current Delphi but AFAIK the system calls I made for the message loop are still compatible with current Linux. The source code is still available from "ICS" page at my website http://www.overbyte.be. The message pump stuff has to be implemented to TIcsWndControl class which did not exist at Kylix 3 time.

 

For the story : I implemented ICS for Kylix in the hope of having business in the Linux world. That was a total failure because at that time, all Linux user wanted everything without paying anything.

 

If anyone (probably a group) has funds to sponsor development for Linux I'll be pleased to do it. That's how ICS for SSL was developed. The person having paid at least 100€ had immediate access to the code. The code was made free one year after ICS for SSL was ready.

  • Like 1

Share this post


Link to post
15 hours ago, FPiette said:

If anyone (probably a group) has funds to sponsor development for Linux I'll be pleased to do it

Hmm, sounds interesting. I think it would be very useful for ICS itself to provide the ability to build network servers and apps which are mostly being run on Linux. How the funding could be done? Probably it'll be wise to implement simple and clear plugging points for another event engines, f.ex., KQueue or epoll.

Share this post


Link to post
19 minutes ago, Fr0sT.Brutal said:

How the funding could be done?

This question is worth a specific publication. Please post it with a proper subject.

Share this post


Link to post
2 hours ago, FPiette said:

This question is worth a specific publication. Please post it with a proper subject.

I guess it would be weird if posted by anyone but you. Or at least by someone who needs it more urgently - I'd like to participate but requirement is pretty low (and so the budget) to interest you.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×