How do you install indy9 in Lazarus on linux? lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- Awesome Programmer · 2016-10-31 18:16 There is hardly any installation instruction anywhere on how to install indy9 or other version for that matter in Lazarus on Linux? I try to do it the only way that I know how - open lpk file, compile and install. However, it comes back and says files are missing and that it can't compile. Could someone please give me hints or clues or guidance? Thank you. ---------------------------------------------------------------------- Devstructor · 2016-10-31 18:42 Hi  Just for a better understanding: Do you need to use Indy 9 instead of Indy 10? ---------------------------------------------------------------------- Awesome Programmer · 2016-10-31 18:59 Quote from: Devstructor on October 31, 2016, 07:42:56 pmHi  Just for a better understanding: Do you need to use Indy 9 instead of Indy 10? Absolutely, not. My problem is that I need a Network component for TCP/IP socket to socket connection that will give me options when it comes to sending, timing out and receiving options. I am currently using LNET LTCPComponent and it is having terrible time when it comes to blocking or waiting for data. Therefore, data coming back is corrupted about 10% of the time. I am actually adding sleep(20); all over my code and it has improved a bit but still it is having problem. So, I am testing out all the network components that are available for my Lazarus to see which will work in my situation. I was on the Indy website and I didn't see Lazarus being mentioned in relation to Indy10. ---------------------------------------------------------------------- Devstructor · 2016-10-31 19:46 You may don't even need to install indy. I like to use Indy non visual and I'm creating the components on runtime. On reason is that I'm mostly using Indy in console applications. Another one that I changed some code in the ssl section. On linux Indy tried to load old encryption standards from openssl, which are no longer supported. I changed the loading mechanism, so my application can work without the old standards. Moreover I like to put the Indy version in my project dir. This allows to simply compile my project with the correct indy version, even when I haven't installed it. The change from Indy 9 to Indy 10 was quite... incompatible  To use Indy without installing it, just got to your project options, compiler options, paths. Add the folder Indy\source to other unit files and your done ---------------------------------------------------------------------- balazsszekely · 2016-10-31 20:02 https://svn.atozed.com:444/svn/Indy10 or http://indy.fulgan.com/ZIP/ Compile indylaz.lpk twice then install. ---------------------------------------------------------------------- Remy Lebeau · 2016-11-01 00:07 Quote from: Devstructor on October 31, 2016, 08:46:20 pmI changed some code in the ssl section. On linux Indy tried to load old encryption standards from openssl, which are no longer supported. Such as?  And are you using an up-to-date version of Indy 10? Quote from: Devstructor on October 31, 2016, 08:46:20 pmI changed the loading mechanism, so my application can work without the old standards. What "standards" are you referring to? ---------------------------------------------------------------------- Awesome Programmer · 2016-11-01 16:14 Quote from: GetMem on October 31, 2016, 09:02:39 pmhttps://svn.atozed.com:444/svn/Indy10 or http://indy.fulgan.com/ZIP/ Compile indylaz.lpk twice then install. Well, thank you for posting a reply, but the first link doesn't go anywhere and the second link takes me to a download page directly. Downloaded indy9 and indy10. None of the files in them were related to Linux Lazarus but Windows Lazarus. In fact, I didn't find indylaz.lpk file. Thank you anyways. ---------------------------------------------------------------------- balazsszekely · 2016-11-01 16:37 QuoteWell, thank you for posting a reply, but the first link doesn't go anywhereYou need a svn client like Tortoise SVN, Visual SVN or the command line SVN. QuoteNone of the files in them were related to Linux Lazarus but Windows Lazarus. What are you talking about? It works both under linux, windows and osx. QuoteIn fact, I didn't find indylaz.lpk fileDid you look in the lib folder? Anyway I packed the relevant files into a single zip. Indylaz.lpk is located in the main folder. Again it works under every major platform. Just unzip and enjoy: https://drive.google.com/open?id=0B9Me_c5onmWoWkF4S2pkc05HN1E PS: Next time please do a forum search first. This topic was discussed many times before. ---------------------------------------------------------------------- Awesome Programmer · 2016-11-01 19:15 Quote from: GetMem on November 01, 2016, 05:37:11 pmQuoteWell, thank you for posting a reply, but the first link doesn't go anywhereYou need a svn client like Tortoise SVN, Visual SVN or the command line SVN. QuoteNone of the files in them were related to Linux Lazarus but Windows Lazarus. What are you talking about? It works both under linux, windows and osx. QuoteIn fact, I didn't find indylaz.lpk fileDid you look in the lib folder? Anyway I packed the relevant files into a single zip. Indylaz.lpk is located in the main folder. Again it works under every major platform. Just unzip and enjoy: https://drive.google.com/open?id=0B9Me_c5onmWoWkF4S2pkc05HN1E PS: Next time please do a forum search first. This topic was discussed many times before. OMG!!!! How did you know I was using ARM processor? That's what I am using and trying to install Indy on... Thank you so much. ---------------------------------------------------------------------- marcov · 2016-11-01 20:11 My Indy9 ports were never supported for Linux (since they relied on a Kylix emulation (libc unit) I wasn't interested in) ---------------------------------------------------------------------- Devstructor · 2016-11-02 16:54 Quote from: Remy Lebeau on November 01, 2016, 01:07:52 amQuote from: Devstructor on October 31, 2016, 08:46:20 pmI changed some code in the ssl section. On linux Indy tried to load old encryption standards from openssl, which are no longer supported. Such as?  And are you using an up-to-date version of Indy 10? Quote from: Devstructor on October 31, 2016, 08:46:20 pmI changed the loading mechanism, so my application can work without the old standards. What "standards" are you referring to? Hi My problem was that my application couldn’t use the openssl headers, because some standards aren’t available in the modern openssl libraries, for instance SSLv2. At this time Indy stopped when a standard was not available. I changed the unit IdSSLOpenSSLHeaders.pas. One of the jobs of this unit is to load the different standards (SSLV2, SSLv23, TSLv1….) using LoadFunction. This function has a parameter Critical with a default value set to true. When a standard is not available and this second parameter is set to true, the loading mechanism of the openssl library will stop and fail. So, I changed this parameter to false at some points. I talked with a Indy developer and I’m glad to find a note in a newer version of IdSSLOpenSSLHeaders.pas. He changed all parameters to false, so my change is no longer needed Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i   // RLebeau 9/7/2015 - making all of the "..._method()" functions optional.  If  // a user wants to disable a given SSL/TLS version at runtime, there is no need  // for it to be marked as "critical" at load time, in case it is not available  // in their version of OpenSSL.  For instance, some vendors disable SSLv2 so  // it is not even exported.  If a user wants to use a given version and it is  // not available in their version of OpenSSL, TIdSSLContext.SetSSLMethod() will  // now raise a runtime error...  @SSLv2_method := LoadFunction(fn_SSLv2_method,False);                 //Used by Indy  @SSLv2_server_method := LoadFunction(fn_SSLv2_server_method,False);             //Used by Indy  @SSLv2_client_method := LoadFunction(fn_SSLv2_client_method,False);            //Used by Indy  @SSLv3_method := LoadFunction(fn_SSLv3_method,False);                      //Used by Indy  @SSLv3_server_method := LoadFunction(fn_SSLv3_server_method,False);           //Used by Indy  @SSLv3_client_method := LoadFunction(fn_SSLv3_client_method,False);        //Used by Indy  @SSLv23_method := LoadFunction(fn_SSLv23_method,False);                      //Used by Indy  @SSLv23_server_method := LoadFunction(fn_SSLv23_server_method,False);        //Used by Indy  @SSLv23_client_method := LoadFunction(fn_SSLv23_client_method,False);     //Used by Indy  @TLSv1_method := LoadFunction(fn_TLSv1_method,False);                         //Used by Indy  @TLSv1_server_method := LoadFunction(fn_TLSv1_server_method,False);         //Used by Indy  @TLSv1_client_method := LoadFunction(fn_TLSv1_client_method,False);        //Used by Indy  @TLSv1_1_method := LoadFunction(fn_TLSv1_1_method,False);              //Used by Indy  @TLSv1_1_server_method := LoadFunction(fn_TLSv1_1_server_method,False);    //Used by Indy  @TLSv1_1_client_method := LoadFunction(fn_TLSv1_1_client_method,False);   //Used by Indy  @TLSv1_2_method := LoadFunction(fn_TLSv1_2_method,False);              //Used by Indy  @TLSv1_2_server_method := LoadFunction(fn_TLSv1_2_server_method,False);  //Used by Indy  @TLSv1_2_client_method := LoadFunction(fn_TLSv1_2_client_method,False);    //Used by Indy  @DTLSv1_method := LoadFunction(fn_DTLSv1_method, False);  @DTLSv1_server_method := LoadFunction(fn_DTLSv1_server_method, False);  @DTLSv1_client_method := LoadFunction(fn_DTLSv1_client_method, False); ---------------------------------------------------------------------- Remy Lebeau · 2016-11-02 19:13 Quote from: marcov on November 01, 2016, 09:11:55 pmMy Indy9 ports were never supported for Linux (since they relied on a Kylix emulation (libc unit) I wasn't interested in) Indy 9 does not support FreePascal.  Indy 10 does. ---------------------------------------------------------------------- Remy Lebeau · 2016-11-02 19:14 Quote from: Devstructor on November 02, 2016, 05:54:37 pmI talked with a Indy developer and I’m glad to find a note in a newer version of IdSSLOpenSSLHeaders.pas. He changed all parameters to false, so my change is no longer needed That was me. ---------------------------------------------------------------------- Awesome Programmer · 2016-11-02 20:48 Quote from: Remy Lebeau on November 02, 2016, 08:13:27 pmQuote from: marcov on November 01, 2016, 09:11:55 pmMy Indy9 ports were never supported for Linux (since they relied on a Kylix emulation (libc unit) I wasn't interested in) Indy 9 does not support FreePascal.  Indy 10 does. Hi Remy, Maybe you can help me. I downloaded the zip file, Getmem posted a link to. Then, I proceeded to install the package by opening indylaz.lpk, compiling and installing. At the end of the process, it asked me if I want to rebuild Lazarus (Yes or No). I clicked on Yes. Few seconds later, it came back and said Compiling Lazarus.or and followed by Lazarus.pp ...... check for duplicates. Then, it quits. I am running FPC 2.6.4 and Lazarus 1.2.4+dfsg2-1. I don't know how to fix this. Plus, indylaz is in the installed package column. However, when I click on the Indylaz package itself in the list, it says it is marked for installation but not installed - Design and Runtime. Any help will be greatly appreciated. Thank you, P.S. I did try to follow a shortcut to installing indylaz as suggested by Devstructor, but it didn't help that it didn't open a context menu with available functions and procedures and when I created a TIdTCPServer variable, it refused to add necessary library files under uses clauses at the top. I am sure I can fish my way around, but it will take me months to put together simple indylaz program this way.... lol... ---------------------------------------------------------------------- marcov · 2016-11-02 21:22 Quote from: Remy Lebeau on November 02, 2016, 08:13:27 pmIndy 9 does not support FreePascal.  Indy 10 does. Some work was done during the summer of 2005, before I moved on to indy10. The last snapshot is from nov 2005. I don't remember the exact state, I used it for one application only.