I was thinking about running Wine on Interix (the POSIX layer of Microsoft's Services for Unix). There are a few apparent unknows:
Would Wine load the .dll.so's? Since Interix uses PE for it's native format (running on Windows, duh), Would Wine load the .dll.so's? Would it reject them being in PE format and having the 'POSIX Layer' attribute set, or could we hack on a patch to detect if Wine itself is running in said layer, and load them if it is? Would that even *work*? And how about detecting Winelib applications? It might get detected as a regular Windows app, and ... uh-oh... (let's just say it isn't pretty)
There are several obvious pros: You can test Wine almost fully under Windows without mingling with Windows's native componets. This would allow for better and faster compatability tests. We could also see what "unknowns" exist in Interix -- Althought not nessessrarly useful to Wine developers itself, it could mean a whole new generation of applications which are half-Unix, half-Windows, if the right holes are found.
I am sure this will spark a LOT of debate.
On Friday 24 March 2006 22:26, Segin wrote:
I was thinking about running Wine on Interix (the POSIX layer of Microsoft's Services for Unix). There are a few apparent unknows:
[. . .]
IIRC the POSIX layer that M$ implemented was there just to get government contracts and it's supposedly not very useful for real development. Does anyone have some hands-on experience with it?
Another thing is that you'd need an X server running on Windows to get anything graphical. Not that it's a problem, just an observation.
Cheers, Kuba
Hi,
In short it wont work. In long see inline.
On 3/24/06, Segin segin2005@gmail.com wrote:
Would Wine load the .dll.so's? Since Interix uses PE for it's native format (running on Windows, duh), Would Wine load the .dll.so's? Would it reject them being in PE format and having the 'POSIX Layer' attribute set, or could we hack on a patch to detect if Wine itself is running in said layer, and load them if it is? Would that even *work*? And how about detecting Winelib applications? It might get detected as a regular Windows app, and ... uh-oh... (let's just say it isn't pretty)
Wine should still load its builtin libs first. Your going to need to add some configure magic to detect interix/SFU and get it building. The last time I tried I ran in to conflicts with headers. It seems what Microsoft has for basic types in the POSIX headers does not match what windows has.
There are several obvious pros: You can test Wine almost fully under Windows without mingling with Windows's native componets. This would allow for better and faster compatability tests. We could also see what "unknowns" exist in Interix -- Althought not nessessrarly useful to Wine developers itself, it could mean a whole new generation of applications which are half-Unix, half-Windows, if the right holes are found.
You can already test any of the pure Win32 Wine dlls if you do a mingw build. Trying to to a port is a good bit of work.
A port to SFU has the same problems as a Cygwin port. Your going to have to implement support in ntdll and wineserver for get/setthreadcontext. For simple Win32 apps that can just be stubbed but then you have the harder task of implementing or working around the lack of send/recvmsg. I think there was a hack to emulate it for cygwin but I never got around to testing it so you might be able to come up with a creative solution that will work for both targets. My advice would be to get it working on cygwin first and then port to SFU.
Thanks
-- Steven Edwards
"There is one thing stronger than all the armies in the world, and that is an idea whose time has come." - Victor Hugo
At 2006-03-24 22:26 -0500, Segin wrote:
I was thinking about running Wine on Interix (the POSIX layer of Microsoft's Services for Unix). There are a few apparent unknows:
Would Wine load the .dll.so's? Since Interix uses PE for it's native format (running on Windows, duh), Would Wine load the .dll.so's? Would it reject them being in PE format and having the 'POSIX Layer' attribute set, or could we hack on a patch to detect if Wine itself is running in said layer, and load them if it is? Would that even *work*? And how about detecting Winelib applications? It might get detected as a regular Windows app, and ... uh-oh... (let's just say it isn't pretty)
There are several obvious pros: You can test Wine almost fully under Windows without mingling with Windows's native componets. This would allow for better and faster compatability tests. We could also see what "unknowns" exist in Interix -- Althought not nessessrarly useful to Wine developers itself, it could mean a whole new generation of applications which are half-Unix, half-Windows, if the right holes are found.
I am sure this will spark a LOT of debate.
wine-users mailing list wine-users@winehq.org http://www.winehq.org/mailman/listinfo/wine-users
Bear in mind that SFU won't install on XP Home or XP64. It seems to be XP Pro only. I haven't tried installing on the Vista Beta (either 32 or 64 bit).
Geoff