Skip to content
This repository was archived by the owner on Mar 12, 2019. It is now read-only.

Conversation

theopolis
Copy link
Contributor

@theopolis theopolis commented Jun 14, 2016

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew tests with your changes locally?

@theopolis
Copy link
Contributor Author

libc++ provides the system C++ implementation for Darwin platforms, based on LLVM. For most Linux systems the C++ implementation is provided by GCC. When folks override their compiler to clang it should default to GCC for C++.

@rwhogg
Copy link
Contributor

rwhogg commented Jun 14, 2016

Agree with this change (not tested yet).

According to LLVM's documentation, Linux is not fully supported by libc++ yet anyways. The most recent results show 33 failures.

@theopolis, thanks for contributing 😄

@theopolis theopolis changed the title Gate the use of libstdc++ to Mac Gate the use of libc++ to Mac Jun 14, 2016
@theopolis
Copy link
Contributor Author

Now realizing I used the GCC library name in the commit and PR title. Please excuse me :P

I wasn't able to run brew test locally due to some odd permission bits I need to investigate-- but I've tried setting clang as my compiler and installing various packages and everything seems good to go!

@rwhogg
Copy link
Contributor

rwhogg commented Jun 14, 2016

I wasn't able to run brew test locally due to some odd permission bits I need to investigate

Try umask 022 before running the tests. That happens to me a lot too.

@theopolis
Copy link
Contributor Author

theopolis commented Jun 14, 2016

For some context on why I'm playing with clang:

On some distributions there's a GCC 5.1+ installed so my brew-installed libraries have the cxx11 ABI version injected into the relative symbols. If a Formula explicitly sets clang then there might be trouble. It's nice to have the --cc=clang option around for these odd-ball scenarios. 💃

@theopolis
Copy link
Contributor Author

Try umask 022 before running the tests. That happens to me a lot too.

Epic, thanks @rwhogg!

@sjackman sjackman changed the title Gate the use of libc++ to Mac clang: Gate the use of libc++ to Mac Jun 14, 2016
@sjackman
Copy link
Member

sjackman commented Jun 14, 2016

Makes sense to me, but I haven't used clang on Linux. Does it work equally well with libstdc++ on Linux? I guess from what you're saying, Bob, it works better with libstdc++ than libc++ on Linux.

@DoomHammer Any comments on this patch, Piotr?

@theopolis
Copy link
Contributor Author

On Linux:

libstdc++ = 👍
libc++ = 👎

@sjackman
Copy link
Member

😄 ✅

@sjackman
Copy link
Member

sjackman commented Jun 14, 2016

Once Piotr has responded, I'm happy with merging this PR.

@DoomHammer
Copy link
Contributor

Hello, missed that one, sorry.

My experiences (somehow limited, mind you) are that libc++ on Linux rather can't, so this patch should be good for us.

A bit similar was https://github.com/Linuxbrew/homebrew-core/commit/c44e038cd7ff2fdda467a4c8cbaf13834f75247f

@sjackman sjackman closed this in eef8893 Jun 17, 2016
@sjackman sjackman self-assigned this Jun 17, 2016
@sjackman
Copy link
Member

Merged. Thanks for your contribution, Teddy!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants