Kylix Frequently Asked Questions

For suggestions and corrections, please send email to kylix@tempest-sw.com. Due to the volume of email I receive, I will not be able to respond personally to all messages, but I read all mail that gets past my antispam filter.

Error code -10 when installing on Red Hat. Red Hat has a buggy RPM, which prevents Kylix from installing properly. You can update your RPM to version 4.0.3 (from www.rpm.org), or you can install as non-root user, using the -m switch to setup.sh.

error while loading shared libraries:libqtintf.so: cannot load shared object file You must set the LD_LIBRARY_PATH environment variable prior to running the application. This tells Linux where to find the shared objects it needs. A common way to do this is to write a wrapper script that sets up the environment variable and then runs your application. For example:

#!/bin/bash
source /opt/kylix/bin/kylixpath > /dev/null
exec /usr/bin/yourapplication "$@"

Change the paths to match your application's needs.

SIGPIPE when an application prints. This occurs when using kernel version 2.4.x. If you run the application outside the IDE, you will see that it prints correctly.

Does Kylix need Wine? The Kylix IDE is a port of Delphi 5 from Windows to Linux. Borland uses a library that translates Windows API function calls to X-Windows and Linux calls (winelib). Applications written in Kylix do not require this library and run as native Linux applications, without need for a runtime interpreter or emulator of any kind.

Kylix uses Qt; does that mean it is tied to KDE? No. You can use GNOME, KDE, or any desktop manager you want, or not use a desktop at all.

How do I use OpenGL? First, get the OpenGL units from the JEDI project. They are on the Kylix companion CD and on the web. Download a demo GLUT program, compile, and go.

Which hardware platforms does Kylix support? Currently, Kylix produces native x86 code only. Future releases might add other platforms, but Borland has not made any official announcements.

Where can I find Linux API documentation? The first place to start is not to use the Linux API unless you need to. Search SysUtils and other Kylix units to see if you can accomplish your task using portable Kylix code. If not, and you need to use the Libc unit, the next place to search is the man pages. The Kylix IDE does this for you when you press F1 and the cursor is over a Linux API function. For lots of Linux documentation, visit the home of the Linux Documentation Project.

What are .dpu and .dcu files? Kylix has its own format for relocatable object files, which it uses instead of .o files. A .dcu file (Delphi compiled unit; remember that Kylix is a port of Delphi) contains information about the declarations in the unit's interface section, plus the relocateable object code from the implementation section. A .dpu file is the same, but the object code is position-independent (PIC). Absolute code (.dcu files) is used for static linking to produce an executable. Position-independent code is used to build shared objects (including packages). PIC lets the Linux load the shared object at any virtual address; multiple processes can share the code even if each process has the code loaded at a different address (hence the position independence).