Mega Code Archive

 
Categories / Delphi / Ide Indy
 

Adventures in Kylix, Part I

Title: Adventures in Kylix, Part I Question: My experiences installing Kylix. Answer: Adventures in Kylix Part One: Installation I'm a hard-core Un*x head and Delphi developer, so the first whiffs of "Delphi on Linux" caused a visceral reaction that has not waned yet. My company pre-ordered Kylix Server back in February. Today (12 March 2001) the nice FedEx lady delivered the package. The box includes: Kylix Server disk Companion Tools disk Evaluation version of SuSE v7.0 Object hierarchy poster Registration card & adverts Quick Start manual Object Pascal Language Guide manual Developer's Guide manual My development machine has the following specs: Athlon 850MHz 512MB RAM 2x20GB hard drives configured with soft RAID-1 RedHat 7.0 with updates Note that Windows is not installed. To do my Delphi programming, I run Windows 2000 on top of Linux using VMWare. Looking at the object hierarchy poster, a few things catch my eye. Extra classes having to do with web development. There are a number of Apache-related classes. (Good. That's why we forked out an extra $700.) Some useful-looking classes such as TQueue, TStack, and TStringHash that descend from TOrderedList. (I just implemented a string has last week. I'm curious how it compares.) Staring at the Delphi 5 poster on the wall again, I can't see these basic computer science constructs. If they're there, I'm just blind. They're trivial to implment, but it's nice to have the building blocks included in the CLX. There is not a TWinControl, but a TWidgetControl. TFrameControl descends from TWidgetControl. A lot of things shoot off from this. Radio groups, icon view, label, list box, memo, list view, tree view, form, frame, scroll box. Other changes like that. Insert CD There is a README file, which one expects to find under Un*x. It basically says to read the PREINSTALL and INSTALL files in order to get stuff running. Fair enough. PRESINSTALL: Big disclaimer at the top: "Certain bugs in common Linux software can cause problems for Kylix or Kylix-developed applications. This document describes some of these bugs, and procedures for detecting and fixing them." A list of software used to validate your Linux installation. A note of explaination is due here for Win32 people. Unix is designed to be completely configurable. This can really unnerve people who are used to "one size fits all" Microsoft mentality. It'll probably cause you to gripe and moan at time, as we all do, but as you start to understand the beauty of it, you might start to gripe and moan about Windows as much as I do. ;-) Reading through the pre-install requirements, it lists which versions of which libraries are needed. (This is all standard install information for Un*x. Borland has done a nice job adhering fulfilling basic expectations.) Under Windows, you're automatically "upgraded", which sometimes can wreak havoc. Under Un*x a program's documentation will politely inform you what versions you need so you can double-check before hand. Some Win32 people call this "primitive." Un*x heads call it "polite" around mixed company. Privately it's called "don't screw around with my #^@&*# system!" Following the instruction: jamesk@sherizod:~ :-) cd /mnt/cdrom/borpretest/ jamesk@sherizod:/mnt/cdrom :-) ./testsystem Borland Kylix System Compatibility Test Checking loader....OK Checking kernel = 2.2....OK Checking libc = 2.1.2....OK Checking libjpeg = 6.2.0....OK Looks GOOD !!! This system should be able to run Borland Kylix! Hey, I like that message. ;) INSTALL Reading the INSTALL file: It explains the difference between installing as root and a normal user. (Root is NT Administrator on steroids. Yes, you can totally hose your system beyond repair!) Reading through this, for the average developer there is no reason to not install as root -- unless you don't have root access to your own development workstation. Your distribution need not be based on RPM, which is a nice touch. After reading all this, it gets to the real part. Run setup.sh on the CD. jamesk@sherizod:/mnt/cdrom :-) sudo ./setup.sh BORLAND KYLIX Checking dependencies... Kernel version = 2.2.0....OK Glibc version = 2.1.2....OK X11 Server....OK Libjpeg version = 6.2.0....OK And the license agreement comes up. Next is the "Global Options" dialog. It includes a drop-down list for the install path, which defaults to /home/jamesk/kylix The drop-down list shows standard alternatives: /usr/local/kylix /usr/kylix /opt/kylix I normally put third-party binary installs in /opt, soo... Install path: /opt/kylix Everything else looks good. Estimated size for the full install is 165MB. Click on "Begin Install" and... It's loading up the RPMs... and done quite painlessly. There is a big "IMPORTANT" note that I need to restart X in order to get the GNOME/KDE menu items to appear. (No biggie. Log out/log in for the lazy person in my chair.) The "IMPORTANT" note also says to always start via the menu or from the command line via "startkylix". Ha! Installation done with no hiccoughs. OK. The moment of truth... Select Kylix fromt he menu, and... CPU pegged for a second but nothing. That's disappointing. From the command line: jamesk@sherizod:~ :-) startkylix wineserver: mkdir /home/jamesk/.borland/wineserver-sherizod:0 : Permission denied VERY strange indeed. jamesk@sherizod:~ :-) ls -lah .borland/ total 44k drwxr-xr-x 2 root root 4.0k Mar 12 13:02 ./ drwx------ 42 jamesk jamesk 4.0k Mar 12 13:06 ../ -rw-r--r-- 1 root root 1.5k Mar 12 13:02 .borlandrc -rw-r--r-- 1 root root 814 Feb 27 19:03 dbxconnections -rw-r--r-- 1 root root 1.4k Feb 27 19:03 dbxdrivers -rw-r--r-- 1 root root 1.4k Mar 12 13:02 delphi60dci -rw-r--r-- 1 root root 9.8k Mar 12 13:02 delphi60dmt -rw-r--r-- 1 root root 3.0k Mar 12 13:02 delphi60dro -rw-r--r-- 1 root root 1.2k Mar 12 13:02 delphi60rc Whoops! I see what happened. My bad. I ran the install program using sudo. sudo can allow a person not logged in as root to execute a program with root privileges. sudo ran the install program as root, but it used my logged-in account to install ~/.borland for me. That was very nice for the install to attempt to initialize ~/.borland for me. I can't fault Borland for this. I didn't follow their explicit directions which stated that I should log in as root. I get bitten by this on occation when I use sudo for installation. Like I said, this was my bad. jamesk@sherizod:~ :-) sudo chown -R jamesk.jamesk .borland/ That should fix it. WOW! It's Delphi! ...er... Kylix! I drop a button on the form, cause the button to set the Caption to 'Hello', hit F9, and everything works smooth as silk. THANK YOU, BORLAND!!! Copyright 2001 James R. Knowles