X86/PPC linking (was Re: [Darwine] Re: Wine Emulation: Swapping
m.hearn at signal.QinetiQ.com
Fri Aug 27 05:48:40 CDT 2004
> Your knowledge of porting is evidently limited. The folks at the Fink
> project would be surprised to learn that what they're doing is simple.
It's trivial compared to porting an app from a proprietary OS - I think
the existance of Winelib spells that out. Porting an app from Linux to
FreeBSD, Solaris, MacOS etc is usually a matter of making sure the
software is POSIX compliance and abstracting the occasional ELFism, but
not much software depends on ELF somuch as the abilities of ELF which
any good OS should provide.
I seem to recall some problem with Mach-O where you can have a library
that is linked at startup in the usual fashion but cannot be dlopened,
and the same library compiled again that can be dlopened (or the
equivalent) but then not linked in normally.
If that hasn't been fixed then it I'm not surprised it causes problems,
it will do for Wine as well - it's a serious limitation not present in
any other platform I'm aware of.
But even so, these are minor issues compared to traditional porting
projects. For most industrial strength Windows apps for instance "port"
is usually a euphamism for "rewrite", at least when Winelib is not
> When you realize that there can be more than a little gap between what
> users' want and can do for themselves and what developers' are
> interested in and actually do (and when they do it), it is very easy to
> understand why being able to run a supported-and-tested binary RPM can
> be hugely preferrable to creating yet-another-port of an application. So
> even though Mac OS X's popularity ensures that most useful applications
> will be ported and supported, the number of applications that fall into
> the gap is plenty big enough.
Ugh, binary RPMs are anything but supported and tested I'm afraid. They
vary between distros - an RPM built for one *might* work on another but
usually unless you take special steps it's hit and miss. Quite a few of
the problems people encounter with Wine are due to bad or broken
packaging, even on non-RPM distros like Gentoo. So don't get me started
on that one :)
More information about the wine-devel