Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

[core] Bump standard library to libstdc++5-dev and clang version to 3.8. #6991

Merged
merged 1 commit into from
Nov 11, 2016

Conversation

ChrisLoer
Copy link
Contributor

No description provided.

@mention-bot
Copy link

@ChrisLoer, thanks for your PR! By analyzing the history of the files in this pull request, we identified @brunoabinader, @kkaefer and @jfirebaugh to be potential reviewers.

@jfirebaugh
Copy link
Contributor

jfirebaugh commented Nov 10, 2016

This proved to be a prerequisite for portions of #6984, namely using <codecvt> for UTF transcoding.

@kkaefer @brunoabinader @springmeyer See any downsides to upgrading? This basically brings mapbox-gl-native in line with the recommendations of https://github.com/mapbox/cpp.

@springmeyer
Copy link
Contributor

springmeyer commented Nov 10, 2016

👍 This feels like the right way forward. #309 tracks when we hit this before and decided to work around without upgrading libstdc++. I think it is a good time to require at least libstdc++-5-dev.

See any downsides to upgrading?

I think the upsides outweight the downsides. And the downside is not a blocker, but I'll detail it for the record. It is that requiring libstdc++-5 instead of 4.9 will trigger a GLIBCXX symbol dependency will jump to GLIBCXX_3.4.21. This means that binaries built of mbgl-native will work out of the box on systems >= ubuntu xenial, but will not work on ubuntu trusty or ubuntu precise without upgrading libstdc++. Because we were targeting libstdc++-4.9 before, mbgl binaries (including node-mbgl) would run on ubuntu trusty by default. However, for Mapbox this has no impact, since we've already upgraded our systems to support GLIBCXX_3.4.21 as per the upgrade methods described in https://github.com/mapbox/cpp.

@kkaefer
Copy link
Contributor

kkaefer commented Nov 11, 2016

As an alternative to using codecvt, we could also make this a system-specific API and backfill with Nunicode on platforms where no platform-native alternative is available.

@jfirebaugh
Copy link
Contributor

codecvt is a standard C++11 feature -- it makes more sense to me to use it rather than platform-specific equivalents.

@ChrisLoer ChrisLoer changed the title Bump standard library to libstdc++5-dev and clang version to 3.8. [core] Bump standard library to libstdc++5-dev and clang version to 3.8. Nov 11, 2016
@ChrisLoer ChrisLoer merged commit 517db64 into master Nov 11, 2016
@ChrisLoer ChrisLoer deleted the cloer_clang38_libstd5 branch November 11, 2016 18:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants