Skip to content

Don't package osx-gcc-installer #19

Description

@mistydemeo

I noticed that when a Homebrew user was having some trouble installing things (in Homebrew/legacy-homebrew#20087), they mentioned that Rails Installer distributes osx-gcc-installer on Mac. I wanted to suggest that it'd be better to look at alternatives.

There are a few problems with osx-gcc-installer, especially when using it on modern Mac versions:

  • osx-gcc-installer is essentially a stripped-down version of Xcode 4.1, with all of the headers and compilers from that Xcode. That means that some of the tools it includes are more than two years old at this point. For example, the clang it includes, 2.1 build 163, is very very old and can't compile some C++ software correctly.
  • Since osx-gcc-installer is a stripped down copy of an old Xcode, installing it for users who already have Xcode and/or the Command Line Tools for Xcode overwrites their new tools with older ones. That can cause some really nasty problems that are hard to track down later.
  • The newest version of osx-gcc-installer is built for OS X 10.7; Xcode 4.1 was never released for Mountain Lion. As a result, some of the system headers it installs are outdated and will break some builds, like anything that uses the availability macros. You can see examples of build failures caused by this in mactoolboxglue.c preventing Python installation Homebrew/legacy-homebrew#20062 and Glib failed to build on 10.8.3 Homebrew/legacy-homebrew#20026.

There are some good alternatives to osx-gcc-installer at this point - Apple's official CLT is free and a small download, for example. If what you're specifically looking for is a package that provides Apple's gcc-4.2, one of AT&T's gfortran packages includes the full gcc-4.2 compiler and installs cleanly alongside Xcode/CLT.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions