9

According to this Wikipedia article:

OS X is a series of Unix-based graphical interface operating systems developed and marketed by Apple Inc.

so i was thinking:

  • is there any similar application to Wine but runs Mac applications?

  • is it possible at to run Mac OS X applications on a Linux machine?

  • 2
    The only way would be to create an OS X VM (e.g. using kvm or Virtualbox). Unfortunately, there would be licensing issues with doing that - Apple don't want you running their OS on non-Apple hardware. I don't think they even sell OS X on DVD any more (you're supposed to get OS X with your Mac and upgrade it over the internet when they tell you to). – cas Apr 21 '16 at 11:48
  • thanks! shall i configure the Virtual machine before installing? – 0x0584 Apr 21 '16 at 16:58
15

Darling (link) is a project that aims to become analogous to wine. Currently it only runs some command-line OSX programs, though.

As long as the developers of the OS X program released their source code and used cross-platform libraries (such as QT, GTK, X11, GNUStep or WxWidgets) you should be able to re-compile an OS X program for linux. OS X and Linux are much more compatible at the API level than the ABI level.

GNUStep implements the Cocoa APIs of NeXTStep and OS X. It was shockingly complete when I tried it, in terms of how much it seemed capable of doing versus how little seems to use it in the wild. GNUStep only works on the source-code (API) level, so it works if a program is open-source and uses Apple's Cocoa GUI (NOT "Aqua" which is proprietary). It depends on being able to compile and link the code.

Think of the API, or Application Programming Interface, as something like a car's dashboard - everything is visible to the driver of the car, and you can get into someone else's car and find his different dashboard just as easy to figure out.

Think of the ABI, or Application Binary Interface, as the engine of the car - it can vary greatly between makes and models, and you probably won't be able to trade your Ford engine into a Volvo very easily.

Darling would in this analogy be putting the Ford engine in a Volvo's chassis, and compiling from source would be like just getting out of your Ford and getting into the Volvo. One is much simpler to do than the other from a programmers' perspective.

But Apple has some proprietary user interface libraries that no one else has, too. If the developer used one of these (such as Aqua), you'll have to wait and hope that Darling grows up like Wine did, or port it yourself. If there is no source code released, it'd be like if the engine was made so big that it could not fit in the Volvo's engine bay, or designed for connecting to a front wheel drive car where your Volvo was rear wheel drive. Unless someone is an absolutely insane maniac (in the best possible way) who has months of free time and ridiculous amount of dedication, it's not likely to happen.

Additionally, GNUStep is not 100% complete in terms of coverage of the Cocoa API's, so some shoehorning is likely still going to be necessary for complex programs. And GNUStep does not provide an xcode-equivalent build system - that is, if the original developer used the XCode IDE's "build" system exclusively, you may be left writing makefiles for it. This was the most frustrating part for me, since while I have experience with compiling and linking software, it's hard to wrestle useful information out of a format like a .xcodeproj that I have no prior backend experience with.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.