I followed the tutorial for Winelib on my Linux system, building notepad. I examined the file "./notepad2" with readelf, and it said "Not an ELF file", and I do not have an a.out system. I opened it with my text editor (attached is the text I saw) and I was disappointed. Instead of a real "port", it was just a shell script that launches wine on a Windows program encapsulated in a ELF shared object file. I'm not happy.
Samuel Lauber
On Thu, 25 Nov 2004 20:04:48 +0100, Sam Lauber wrote:
I followed the tutorial for Winelib on my Linux system, building notepad. I examined the file "./notepad2" with readelf, and it said "Not an ELF file", and I do not have an a.out system. I opened it with my text editor (attached is the text I saw) and I was disappointed. Instead of a real "port", it was just a shell script that launches wine on a Windows program encapsulated in a ELF shared object file. I'm not happy.
What did you expect? Winelib can't magically make a Windows program a non Windows program. It still needs CreateWindowEx and friends to be present.
I think what you mean is, you wanted to be able to type:
./my-program
and have it launch like a "normal" app. You don't like the aesthetics of running "wine my-program.exe.so". This is natural, I think most people go through it (me too) but it's done for sound technical reasons and there's really no disadvantage.
The reason to do a Winelib app is to either:
a) Port to another CPU arch b) Allow usage of native ELF APIs c) Both
I'm afraid whichever way you cut it, if a program is using Win32 it will need Wine to be present.
thanks -mike
On Thu, Nov 25, 2004 at 07:24:08PM +0000, Mike Hearn wrote:
I think what you mean is, you wanted to be able to type:
./my-program
and have it launch like a "normal" app.
Which is exactly what the current Winelib toolchain gives you.
On Thu, Nov 25, 2004 at 08:04:48PM +0100, Sam Lauber wrote:
I followed the tutorial for Winelib on my Linux system, building notepad. I examined the file "./notepad2" with readelf, and it said "Not an ELF file", and I do not have an a.out system. I opened it with my text editor (attached is the text I saw) and I was disappointed. Instead of a real "port", it was just a shell script that launches wine on a Windows program encapsulated in a ELF shared object file. I'm not happy.
Sorry, but that's how things are. It is pretty much a "real" port (whatever that means), even though it's launched through a script. It's not pretty, but because of the different binary env in Linux and Windows, that's the way it has to be.
Le jeu 25/11/2004 à 14:34, Dimitrie O. Paun a écrit :
On Thu, Nov 25, 2004 at 08:04:48PM +0100, Sam Lauber wrote:
I followed the tutorial for Winelib on my Linux system, building notepad. I examined the file "./notepad2" with readelf, and it said "Not an ELF file", and I do not have an a.out system. I opened it with my text editor (attached is the text I saw) and I was disappointed. Instead of a real "port", it was just a shell script that launches wine on a Windows program encapsulated in a ELF shared object file. I'm not happy.
Sorry, but that's how things are. It is pretty much a "real" port (whatever that means), even though it's launched through a script. It's not pretty, but because of the different binary env in Linux and Windows, that's the way it has to be.
I just discussed this on IRC with Mike, and the direction we briefly looked at involved transforming wineapplauncher to a C program which could then be the entry point for .exe.so files produced via winegcc, the same way libc.so can be executed (and gives basic info on the included libs, copyright info, etc.).
That leaves winewrapper to take care of (to launch from the Wine source tree). I guess mucking around the .exe.so while "make install" is out of the question? :)
Vincent
Hi Sam,
--- Sam Lauber sam124@operamail.com wrote:
I followed the tutorial for Winelib on my Linux system, building notepad. I examined the file "./notepad2" with readelf, and it said "Not an ELF file", and I do not have an a.out system. I opened it with my text editor (attached is the text I saw) and I was disappointed. Instead of a real "port", it was just a shell script that launches wine on a Windows program encapsulated in a ELF shared object file. I'm not happy.
Thats the way it works. The idea of Winelib is that you can use it as a step to port your application to Linux. Now that you have a the app as a ELF binary you can use dlopen and friends to open Unix libs and replace parts of Linux toolkits. Winelib allows you to do this in steps by starting with things like use Unix sockets vs Winsock or start to replace filedialogs with GTK filedialogs.
Thanks Steven
__________________________________ Do you Yahoo!? The all-new My Yahoo! - What will yours do? http://my.yahoo.com