Pelles C forum

C language => Tips & tricks => Topic started by: ads on May 03, 2008, 06:45:53 PM

Title: Wine/Linux to PPC - solved
Post by: ads on May 03, 2008, 06:45:53 PM
Hi, all.

Just thought I should share this very tiny piece of information in the hope it may save others the same problems. Having installed Wine on my Debian Etch box, and got Pelles IDE working smoothly, I began by compiling a Hello World program to transfer to my iPAQ. I connect wirelessly to my iPAQ over ftp with a small ftp server utility running on the iPAQ - saves messing around with cables all the time. From a terminal window in Linux I sent the compiled executable file to my iPAQ (incidentally, running WM5). The executable would not run.

I rather impatiently decided to attempt the same procedure on my XP laptop, and immediately succeeded. I wondered whether my Linux setup was somehow different.

As it turns out, and for those of you who read my previous post about this problem in the PPC section, the following will clarify why the solution appears here rather than under PPC posts.

I noticed that the executables were differing in size by a few bytes on my PPC. After a lot of fiddling I realised that the problem was with the FTP from my Linux machine to the iPAQ. The Linux terminal window was 'lying' about the transfer mode. On my XP laptop the ftp program will automatically detect the file type and switch to binary or ascii transfer. In Linux the terminal ftp appears to do the same thing and indeed, if I send my binary executable the terminal window message confirms "Opening BINARY mode...". This is in fact incorrect, and is solved by specifying binary mode before transferring the file. Once that is done, the executable arrives unharmed onto my PPC and works just like the one from my XP laptop! Hooray! Another annoyance solved. I guess I need to teach my Linux terminal to tell the truth.