Tuesday, April 04, 2017

Delphi on Slackware Linux

Wow - haven't posted in a while....way too busy.

So I recently have the need to talk to a serial port on Linux (/dev/ttyS0) and with Delphi Tokyo 10.2 recently released with native compilation for Linux, I decided to give it a try.

One problem....

Embarcadero Rad Studio 10.2 only officially supports Ubuntu 16.04 LTS, and RedHat Enterprise Linux. 

I have a Slackware 14.1 box that I'd like to try it on - because that will be the production box.  So I figured I'd give a simple application a test and see what happens on a test Slackware 14.1 machine.

It was late in the day (5:00pm or so) and I hit the Tools->Options->SDK Manager, connected to PAServer running on the Slackware box and let it go and walked out the door.  Typically this takes 5-10 minutes.

When I came back in the morning (15 hours later), I noticed it was still building (sorry for the pictures, didn't think I'd be making a blog post about this).

 
Well, that doesn't look right.  Let's log into the Slackware box and see what's going on.

I noticed in "/usr/include/seamonkey" and "/usr/include/mozilla" there were symbolic links of directories pointing back to itself (like shown above, one was called "plugins") and there were a few others.  I wonder if that's what PAServer is compiling....it must be stuck in some recursive loop.

I must have installed X Windows on this box, but I don't use it, so I uninstalled XFCE and X, etc.

I then re-attempted the Slackware 14.1 SDK addition, and after a while, it worked!



Cool, let's try to compile, build and deploy something again.



I "cat-ted" out the result - just so you could see it's not snake-oil - it's a real binary!


Well, that works out great! 

Back to the project.....

I did some digging and noticed the there's no RTL for serial communications - which I was surprised, to find, but I think I can cobble together something to get it to work - even if I have to go down a TCP/IP to Serial bridge - I'll get it to work.

Some of you may be asking, Delphi?  Why?

Well, I live most of the day in Visual Studio as a C# Developer, but have always had a strong love of Delphi (it was my first real RAD environment back in 1995 with Borland Delphi 1.0) on a Windows 3.1 (and shortly thereafter Windows 95) machine.

Recently, I had the business need to develop a few internal mobile applications for 125 employees.  I tried it in Visual Studio with Xamarin.  What a mess!  (To put it nicely.) 

I need professional tools that help me develop fast.  I can't wait for months while Alpha and Beta builds of Xamarin were released fixing some stupid bug.

The ability to just throw up a form, drop some controls on it, deal with the layout of different devices - Delphi wins this hands down.  Literally in minutes I can have a prototype of an application, while Visual Studio and the Xamarin environment are still pulling down crap code from repositories or nuget or whatever the heck it is doing!

Anyway, I could rant all day about this, but it's not the point of this post.

Thanks Delphi!  I'll report back and let you know how this project worked when done.