#1 2010-07-22 11:46:18

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Cross Kylix updated

Do you know about Cross Kylix?

Simon Kissel wrote:

New - July 21 2010: CrossKylix is updated
6 years after the 1.0.0 release and after being announced to be discontinued, CrossKylix today got an update again. This update makes CrossKylix compatible to Windows 7, and fixes a long-standing annoying bug causing the first error message on a compiler error to be garbled and code navigation to this error not working in that case.
http://crosskylix.untergrund.net

If, like me, you own a Delphi 7 license, and got the Kylix 3 license and CD bundled with it, you can use Cross Kylix to cross-compile your source code to Linux.

That is, you develop your software in Delphi, just as usual, under Windows, then you can compile it from the Delphi IDE in order to obtain a Linux ELF executable.

Since you compile on an operating system (Windows) and create executable for another operating system (Linux), it's so called "cross-compiling".

I'm using CrossKylix for years, and it worked for me like a charm.
It's one of the reasons why I like to maintain Delphi 7 compatibility in our source code, because Kylix 3 is based on the same compiler as Delphi 7: only the back-end generates natively ELF files instead of EXE.

I discovered some problems about the Kylix RTL and WideString under modern linux: if your Linux is configurated with UTF-8 encoding (which is now the standard for most distributions), WideString usage failed. So I've corrected this in the Kylix system.pas: in fact, our Enhanced RTL is cross-platform, and works with Delphi 7 and CrossKylix.
See http://synopse.info/forum/viewforum.php?id=6

For server applications and command-line tools, even a small cgi program, CrossKylix is just great! You can develop and test with Delphi under Windows, then Cross-compile it, and run the executable under Linux with no problem.
I've used this for years on a french "dedibox" with runs under a Via C7 (now much faster Nano) CPU, and made AES and SHA encryption of the data in more than 1500 KB per second (yes KB per second, not bytes per second) thanks to the PadLock engine!

Offline

#2 2010-07-24 16:50:12

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: Cross Kylix updated

You sure heard about the "CrossKylixGate"... A Great tool I used for years (CrossKylix) has just been updated. Its author (named Simon) posted an announcement in the Embarcadero forums. Then the post has been deleted by "Team B" members, because of some old story.

But not only Simon has been censured. Since I like and use this free tool, I posted a very "soft" post just with the announcement of the CrossKylix update, with some explanations and precisions. No debate. Just a link to the download page. Then my whole thread was deleted.

It just sounds like a "damnatio memoriae" to me.

Wikipedia wrote:

Damnatio memoriae is the Latin phrase literally meaning "damnation of memory" in the sense of removal from remembrance. It was a form of dishonor that could be passed by the Roman Senate upon traitors or others who brought discredit to the Roman State."

Are we back to the tyrany of the Caesars in old Rome?
Will Simon feed the lions?
I hope not, at least because of CrossKylix, I'll thumbs up and pray for mercy!

The worse in this case is that it's not the Senate (i.e. Embarcadero) who made the decision, but some "Team B" zealous and proud anonymous.
Thumbs down for him!

"Iste asinus hominis currit; ergo illius hominis asinus currit"... I let you guess who is the donkey, and who is the man!

Offline

#3 2010-07-27 09:08:23

xalion
Member
Registered: 2010-07-27
Posts: 1

Re: Cross Kylix updated

I use crosskylix everyday, it's really a good tools!

Offline

#4 2010-07-29 19:51:32

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

I installed Delphi 7 at the default directory: C:\Program Files\Borland\Delphi7.
I installed CrossKylix and Kylix files using all the default options as in Simon's website: C:\Program Files\CrossKylix.

After that, I installed CrossKylix ideplugin into Delphi 7 IDE. At this very moment, I can compile an console "Hello World" application using "Build with Kylix" menuitem. However, after I rebooted the laptop, I can never use "Build with Kylix" again. I mean, it will never respond after I click it.

If I turn on Debug switches in Tools -> CrossKylix Options, there maybe certain error as follows (I didn't find how to attach the log file):

Build
  [CrossKylix] Writing configuration...
  [CrossKylix] Building ck.dpr...
  [CrossKylix] Commandline: -B /C/ck/ck.dpr
  [CrossKylix] DEBUG: Env: HOME=/C/PROGRA~1/CROSSK~1/ LD_LIBRARY_PATH=/C/PROGRA~1/CROSSK~1/lib:/C/PROGRA~1/CROSSK~1/kylix/bin LC_CTYPE=ISO-8859-15 LANG=POSIX
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Running: C:\PROGRA~1\CROSSK~1\ck.dat -f -wC:\ck -cC:/PROGRA~1/CROSSK~1/ "C:/PROGRA~1/CROSSK~1/kylix/bin/dcc" "C:/PROGRA~1/CROSSK~1/kylix/bin/dcc -B /C/ck/ck.dpr"
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Got process handle 372
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Got thread handle 1244
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Get syscall handler
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 1073737728
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 122
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 45
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /etc/ld.so.preload Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/i686/mmx/libdl.so.2 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 195
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 106
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/i686/libdl.so.2 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 106
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/mmx/libdl.so.2 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 106
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/libdl.so.2 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 3
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 108
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 125
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 6
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/libm.so.6 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 3
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 108
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 125
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 6
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /C/PROGRA~1/CROSSK~1/lib/libc.so.6 Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 3
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 108
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 537264128
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 125
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 6
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 135497532
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 13
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 85
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 197
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 108
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 90
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 538509312
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 135552228
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 45
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 45
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 45
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Syscall 5
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Open: /usr/share/locale/locale.alias Flags: 0
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Got process handle 1288
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Got thread handle 1284
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Unable to read process memory
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Unable to read process memory
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Unable to read process memory
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 4294967295
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: VirtualQueryEx failed
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 4294967295
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: VirtualQueryEx failed
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: Allocmem: 4294967295
  [CrossKylix] DEBUG: 
  [CrossKylix] DEBUG: VirtualQueryEx failed

It seems to me that CrossKylix has generated .conf file from .cfg file. However, something went wrong in the subsequent steps. Could you help me with this problem? Thank you very much!

Last edited by ComingNine (2010-07-30 07:53:58)

Offline

#5 2010-07-29 20:07:41

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

I forgot to mention that:

1.
Despite the fact that the "Build with Kylix" menuitem in the Delphi 7 IDE will not respond after I click it, with the .conf file generated by CrossKylix, a manual call like:

C:\TestProject1> "C:\Program Files\CrossKylix\ckdcc.exe" Project1.dpr

still works.

2.
When I tried to install CrossKylix into another directory without space characters in the path, like C:\crosskylix, the same problem exists, i.e. :

The "Build with Kylix" menuitem in the Delphi 7 IDE will not respond after I click it.

With the .conf file generated by CrossKylix, a manual call like:

C:\TestProject1> C:\CrossKylix\ckdcc.exe Project1.dpr

works.

Could you help me with this problem? Thank you very much!!

Last edited by ComingNine (2010-07-30 07:55:59)

Offline

#6 2010-07-30 05:33:11

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: Cross Kylix updated

It sounds like your error log check for files in C:\Program Files\CrossKylix directory... and fails. Note that folder names are in short 8.3 format.

And you have installed it in C:\CrossKylix

So I suspect some directories are wrong. Did you go to CrossKylix options, then set the directories?

I'm not sure you installed it right.

Offline

#7 2010-07-30 07:35:40

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

Thank you for your prompt help very much!

I am sorry that:

  The information at #4 post is when I installed CrossKylix at its default directory.

  After that, I tried to install CrossKylix without space characters under C:\CrossKylix, which is the information at #5 post.

Offline

#8 2010-07-30 07:56:45

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: Cross Kylix updated

1. did you uninstall then reinstall the Delphi 7 IDE expert?

2. did you uninstall CrossKylix before the reinstallation?

3. did you restart your computer? It sounds like wrong environment variables.

4. did you restart your computer before the reinstallation?

So I propose these steps:

a) uninstall CrossKylix (and its associated .dpk in the Delphi 7 IDE!)
b) restart your computer
c) delete any previous CrossKylix directory (in c:\Program Files)
d) delete any CrossKylix-related values in your system environment variables
e) reinstall CrossKylix in C:\CrossKylix
f) it should work

Perhaps just uninstalling and reinstalling the .dpk Delphi 7 IDE packet could fix it, if the command line compiler works.

I use CrossKylix under Delphi 7 IDE, on my Windows Seven 64 bits computer, without any problem.
Delphi is installed in C:\Progs\Delphi7 and CrossKylix in C:\Progs\CrossKylix

Offline

#9 2010-07-30 08:56:19

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

Thank you very much for your prompt suggestions!

1. I didn't install or uninstall any experts plugin.

2, 4. I installed once in my workstation (using default options as in #4 post), and now in my laptop. Thus, I didn't need to uninstall.

3. Yes. I mean, after I just installed Delphi 7, CrossKylix and kylix files, I indeed can use "Build with Kylix". After restarting the computer, the menuitem will not respond my click (error log as in #4 post). The command line compiler works however.

I will then try carefully as you advised in clean virtual machines (because the state of the virtual machine can be saved and restored quite easily), and report what happens later.

Last edited by ComingNine (2010-07-30 08:57:31)

Offline

#10 2010-07-30 09:01:50

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: Cross Kylix updated

First of all, did you check the "Cross Kylix installation directory" field in the CrossKylix options, accessible from Tools menu of the Delphi IDE?
Check it points to C:\CrossKylix, and there is a "OK!" text below the "..." button.
Then check other directories, which must point to C:\CrossKylix\kylix\lib (Units + Include + Objects).

For example, here is my configuration, for an installation to C:\Progs\CrossKylix :
CrossKylixOptions.png

If it's not enough, try this:

You MUST uninstall the experts plugin. If you have the menu items in the IDE, you have this plugin installed.

IMHO here is the root cause of your problem: you've a CrossKylix.dpk installed which calls the first installation directory (i.e. in C:\Program Files), therefore fails because the CrossKylix files (.so) are not in the expected directory.

So you must uninstall the CrossKylix.dpk package from the IDE.

Then uninstall CrossKylix.

Then reinstall CrossKylix.

Then install CrossKylix.dpk package from the ideplugin subdirectory of CrossKylix.

Offline

#11 2010-07-30 14:02:50

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

Thank you very much for your time and kindness!!

1.
I have tried the following steps several times in clean virtual machines (clean means fresh-installed Windows Xp Sp2, without any other programs):

(1) Install Delphi 7
(2) Install CrossKylix + Kylix files
(3) Install CrossKylix ideplugin into Delphi 7 IDE; as prompted by the plugin itself and mentioned kindly by you, I have to filled in the path of crosskylix installation (, and the "unit+include+object" will be filled by itself). 
(4) Try to use "Build with Kylix"
(5) Reboot the virtual machine, try to use "Build with Kylix"

The same problem occurred as in my workstation and laptop: in step (5), "Build with Kylix" will not respond.

2.
HOWEVER, I accidentally found that, after each rebooting, if I ran ckdcc.exe once, by double clicking for instance, and THEN open Delphi 7, the "Build with Kylix" will work!

I tried this workaround on my workstation and laptop (i.e., run ckdcc.exe once before opening Delphi 7 IDE) and it is also valid. I didn't know why, though.

Offline

#12 2010-07-30 14:44:21

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,207
Website

Re: Cross Kylix updated

Perhaps it's worth sending a bug request to Simon...

Sounds strange to me!

Offline

#13 2010-07-30 15:48:27

ComingNine
Member
Registered: 2010-07-29
Posts: 294

Re: Cross Kylix updated

Dear Arnaud, thank you very much for your time! I don't know how to send bug requests; I will then send the link of this page to him via email.

Furthermore, I have sent you an email regarding another question to "freelance at synopse dot info" (with a zipped file attachment as large as 1.5 MB). Thank you very much again!

Offline

Board footer

Powered by FluxBB