I have a Mac. I'm in college studying physics.

Because of this, I would need to compile a lot of C++ libraries (think vtk, gsl, ...). I usually need to patch some Makefiles, compile from source, look for dependencies and other annoying problems, because it seems that Mac OS X, though Unix, has some differences with the default Linux systems.

Therefore I was thinking about doing the old switcheroo to a Linux OS (probably Debian).

Q: Would this be a good step towards solving all the compatibility issues described above? (I hear from friends running Linux they have issues too), or would it be trading one set of problems against another?

Is it worth it? Exchanging my 100% it-will-work-well (1) operating system with a more widely used system yet that would have some hardware problems (probably)?

After all a Mac is Unix too, so would the gain be profitable?

(1) with this I mean that Mac software is built to run under Mac hardware, whilst Linux software, though universal, isn't. Trying some stuff out in VirtualBox, I noticed the correct keymap for my keyboard isn't available on Ubuntu or Debian. I also notice (from these same friends of mine) that Linux tends to have driver problems etc.

Perhaps I shouldn't listen to these friends of mine.

  • You should look to see if the MacPorts project has the things you need. macports.org I find it a very easy way to install Open Source software on my Mac. – Paul Tomblin Feb 28 '12 at 21:40
  • You could buy a very inexpensive PC and spend a weekend trying it. I have all three environments (Linux/Windows/Mac) and just find that using things that are native to each rather than fiddling with VMs and porting is much less hassle. – Scott C Wilson Feb 29 '12 at 0:56
  • @PaulTomblin: Yes I use the Homebrew package manager, yet this doesn't seem to solve all of my problems. – romeovs Feb 29 '12 at 7:48

Well, a change is always a trade of problems. There is no ideal operating system. I do not know what software you use/need, but vtk and gsl are both available for any modern Linux distributions.

Driver problems are usually hardware dependent ... do a couple of google searches for your hardware and Linux and see if other people have any problems.

If you provide more applications you need/miss in MacOS, we can check if there are available precompiled on our Linux distributions (Sabayon Linux here).

On the other hand, Linux has almost anything you need for C++ (libs, compilers, etc), Java also runs well and Ruby just rocks. So unless you specify more concrete applications we can just guess what you need.

| improve this answer | |
  • Would build vtk and gsl be as easy as apt-getting them? I don't really need any apps, as long as vim, c++ and octave will work (and also a browser, preferably chrome). That's why I was thinking about switching. Would it be a good test to first dual boot a machine to see if the hardware works? – romeovs Feb 28 '12 at 19:36
  • I can't guarantee for Ubuntu, but it should be as easy as apt-get vtk, at least it is on Sabayon equo install vtk. Same goes for gsl. I also have octave-3.6.0, qtoctave-0.9.1 and g-octave-0.4.1 which can all be installed in the apt-get style. vim and any other C++ library you need are also installable with apt-get. – Patkos Csaba Feb 28 '12 at 20:28

By all means try Linux as a virtual load, but Before you reload that Apple with Linux, consider installing some things that will make the Mac do what you want, such as Xcode and consider Octave.

Xcode will bring C++ compiler and editor, and allow you to have a native Xserver running in the OSX. Octave will let you do lots of cool things with math. The Xserver alone will allow things like gnuplot to work well with Octave etc.

Unless it's old and crawling, you paid for the OSX with it's updates etc, I'd keep it native and run Linux as a virtual instance when you want it. Once you have an Xserver, C++ compiler and tools like octave installed, the OSX should do what you want.

| improve this answer | |
  • my main problem is the way mac os x seems to destandardize these tools. e.g. I learn in class that shared libraries are .so files, yet on my mac they are .dyld. This is a silly example of course but it portraits what I mean. Everything is built just that tad bit different. I don't know if this is just a figment of my imagination, brought forward by working with a lot of linux users. Hence my question. I know my mac will do (approximately) what I need yet I want to have a standardized platform to work from, so I can help and be helped by my peers, and I was just checking if it was worth it. – romeovs Feb 29 '12 at 18:37
  • I think .so files are still used for lots of things you might compile on the Mac. I had a Mac and got frustrated that I couldnt just add more memory or swap out the hard drive, easily, like with a Dell or Asus laptop. I run Linux natively on a Dell Latitude so that I can do disk dupes or try out a new Linux distro by swapping the drive. You could get an empty hard drive and 'try linux' on that Mac if it's one that you can swap drives easily. – Cutlasj Feb 29 '12 at 21:11

I would install and use VirtualBox, and install Debian, Mint, Ubuntu, CentOS, Fedora, (or if your school has the cheap/free licenses for it) Redhat workstation.

Keep your nice OS X desktop for general desktop stuff. Switch to the VM and open an IDE, or just SSH into it and export X back to your host - OS X has an X server available too!

| improve this answer | |

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.