{"action":"created","comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments/191659309","pull_request_review_id":124268533,"id":191659309,"diff_hunk":"@@ -402,7 +402,7 @@ CameraOptions cameraForLatLngs(const std::vector<LatLng>& latLngs, const Transfo\n         scaleY -= (padding.top() + padding.bottom()) / height;\n         minScale = util::min(scaleX, scaleY);\n     }\n-    double zoom = transform.getZoom() + util::log2(minScale);\n+    double zoom = transform.getZoom() + std::log2(minScale);","path":"src/mbgl/map/map.cpp","position":5,"original_position":5,"commit_id":"17e6b37a74e8b554f25920300645f8b6a95d3326","original_commit_id":"9080a80e5b045054160191f4c70695eda5ce991f","user":{"login":"brunoabinader","id":76133,"avatar_url":"https://avatars2.githubusercontent.com/u/76133?v=4","gravatar_id":"","url":"https://api.github.com/users/brunoabinader","html_url":"https://github.com/brunoabinader","followers_url":"https://api.github.com/users/brunoabinader/followers","following_url":"https://api.github.com/users/brunoabinader/following{/other_user}","gists_url":"https://api.github.com/users/brunoabinader/gists{/gist_id}","starred_url":"https://api.github.com/users/brunoabinader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brunoabinader/subscriptions","organizations_url":"https://api.github.com/users/brunoabinader/orgs","repos_url":"https://api.github.com/users/brunoabinader/repos","events_url":"https://api.github.com/users/brunoabinader/events{/privacy}","received_events_url":"https://api.github.com/users/brunoabinader/received_events","type":"User","site_admin":false},"body":"Ditto.","created_at":"2018-05-30T06:57:52Z","updated_at":"2018-05-30T06:59:15Z","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/12025#discussion_r191659309","pull_request_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments/191659309"},"html":{"href":"https://github.com/mapbox/mapbox-gl-native/pull/12025#discussion_r191659309"},"pull_request":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025"}}},"pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025","id":191163177,"html_url":"https://github.com/mapbox/mapbox-gl-native/pull/12025","diff_url":"https://github.com/mapbox/mapbox-gl-native/pull/12025.diff","patch_url":"https://github.com/mapbox/mapbox-gl-native/pull/12025.patch","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/12025","number":12025,"state":"open","locked":false,"title":"Make Linux artifacts more portable","user":{"login":"kkaefer","id":52399,"avatar_url":"https://avatars0.githubusercontent.com/u/52399?v=4","gravatar_id":"","url":"https://api.github.com/users/kkaefer","html_url":"https://github.com/kkaefer","followers_url":"https://api.github.com/users/kkaefer/followers","following_url":"https://api.github.com/users/kkaefer/following{/other_user}","gists_url":"https://api.github.com/users/kkaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/kkaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkaefer/subscriptions","organizations_url":"https://api.github.com/users/kkaefer/orgs","repos_url":"https://api.github.com/users/kkaefer/repos","events_url":"https://api.github.com/users/kkaefer/events{/privacy}","received_events_url":"https://api.github.com/users/kkaefer/received_events","type":"User","site_admin":false},"body":"When building on a system with recent software versions, there are a few problems when then using the build artifacts on systems with less recent versions:\r\n\r\n- The GNU C++ standard library [changed the way `<thread>` captures state](https://github.com/gcc-mirror/gcc/commit/480f3486712dc685b5f56fbd91bad5cf312df611) in 3.4.22. This means that compilers building against this or later versions will reference various symbols related to `std::thread::_State`. To mitigate C++ STL breakage and incompatibilities, we're switching to statically linking the GNU C++ standard library. We are _not_ linking the GNU C library. From a license standpoint, this is acceptable since libstdc++ is covered by the [GCC Runtime Library Exception](https://www.gnu.org/licenses/gcc-exception-3.1-faq.en.html). <details>\r\n    <summary>(new symbols in GLIBCXX 3.4.22)</summary><pre><code>std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())\r\n  typeinfo for std::thread::_State\r\n  std::thread::_State::~_State()\r\n  vtable for std::thread::_State</code></pre>\r\n  </details>\r\n\r\n- Additionally, the GNU C++ standard library [introduced a new C++17 overload for the `std::string` constructor](https://github.com/gcc-mirror/gcc/commit/409191e46895a8df5aec6a84a1484e7b33f05a16) with one fewer `size_t` parameter in 3.4.22. Before, we've linked against `std::string(const std::string&, size_t, size_t, const Allocator&)`, while we now link against `std::string(const std::string&, size_t, const Allocator&)` when the user omits the default arguments. The latter overload was added in later versions of the standard library and is thus unavailable on older systems.\r\n\r\n- Ubuntu upgraded its OpenSSL version from 1.0 to 1.1. While we're not using OpenSSL _directly_, we're linking to cURL, which in turn links to OpenSSL. Since cURL exposes the OpenSSL context, it needs to reflect that in the symbol versions, [which got bumped from `CURL_OPENSSL_3` to `CURL_OPENSSL_4`](https://salsa.debian.org/debian/curl/commit/95c94957bb7e89e36e78b995fed468c42f64d18d).  Since we are not accessing the underlying OpenSSL context, we don't care whether we're linking against version OpenSSL ABI 3 or OpenSSL ABI 4; both use the cURL ABI version 4 which hasn't changed since 2006 (see https://curl.haxx.se/libcurl/abi.html). In fact, cURL's ABI compatibility is very good as shown on https://abi-laboratory.pro/tracker/timeline/curl/. Therefore, we're dynamically loading the cURL symbols we need to avoid linking against versioned symbols. We're still linking to `libcurl.so.4` (and call `dlopen(\"libcurl.so.4\")`) to track cURL's ABI version (rather than OpenSSL's ABI version).\r\n\r\n- Instead of installing Mesa and linking against it when building with the EGL backend enabled, we're installing and building against SwiftShader which is more portable and smaller. You can still run a binary built and linked against SwiftShader with Mesa (it was also possible to do this vice versa before this change).\r\n\r\n- The GNU C library [added new versioned symbols of `powf` and `logf` in 2.27](https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00000.html), while the `double` versions of `pow` and `log` remained stable. We now prefer these to avoid introducing a dependency on a newer version of GLIBC than strictly necessary.\r\n\r\n- Add a `VERSION` script when linking the node modules to hide all symbols. Node modules don't need any symbols exposed, since they'll register themselves with Node when the linker loads them into the process.","created_at":"2018-05-29T14:21:25Z","updated_at":"2018-05-30T06:59:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8a992997e5b5ac456901592e0ad66812260c19e6","assignee":null,"assignees":[],"requested_reviewers":[{"login":"tmpsantos","id":996307,"avatar_url":"https://avatars0.githubusercontent.com/u/996307?v=4","gravatar_id":"","url":"https://api.github.com/users/tmpsantos","html_url":"https://github.com/tmpsantos","followers_url":"https://api.github.com/users/tmpsantos/followers","following_url":"https://api.github.com/users/tmpsantos/following{/other_user}","gists_url":"https://api.github.com/users/tmpsantos/gists{/gist_id}","starred_url":"https://api.github.com/users/tmpsantos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmpsantos/subscriptions","organizations_url":"https://api.github.com/users/tmpsantos/orgs","repos_url":"https://api.github.com/users/tmpsantos/repos","events_url":"https://api.github.com/users/tmpsantos/events{/privacy}","received_events_url":"https://api.github.com/users/tmpsantos/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":352634063,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/Core","name":"Core","color":"000000","default":false},{"id":359063707,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/Linux","name":"Linux","color":"000000","default":false},{"id":94203800,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/build","name":"build","color":"0052cc","default":false},{"id":121069548,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/refactor","name":"refactor","color":"0052cc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025/commits","review_comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025/comments","review_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/12025/comments","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/17e6b37a74e8b554f25920300645f8b6a95d3326","head":{"label":"mapbox:linux-portable","ref":"linux-portable","sha":"17e6b37a74e8b554f25920300645f8b6a95d3326","user":{"login":"mapbox","id":600935,"avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":16286131,"name":"mapbox-gl-native","full_name":"mapbox/mapbox-gl-native","owner":{"login":"mapbox","id":600935,"avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/mapbox-gl-native","description":"Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL","fork":false,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native","forks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/forks","keys_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/teams","hooks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/hooks","issue_events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/events","assignees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/tags","blobs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/languages","stargazers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/stargazers","contributors_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contributors","subscribers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscribers","subscription_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscription","commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/merges","archive_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/downloads","issues_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/deployments","created_at":"2014-01-27T17:14:48Z","updated_at":"2018-05-29T18:17:36Z","pushed_at":"2018-05-30T05:22:42Z","git_url":"git://github.com/mapbox/mapbox-gl-native.git","ssh_url":"git@github.com:mapbox/mapbox-gl-native.git","clone_url":"https://github.com/mapbox/mapbox-gl-native.git","svn_url":"https://github.com/mapbox/mapbox-gl-native","homepage":"https://mapbox.com/mobile","size":205704,"stargazers_count":2621,"watchers_count":2621,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":819,"mirror_url":null,"archived":false,"open_issues_count":704,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":819,"open_issues":704,"watchers":2621,"default_branch":"master"}},"base":{"label":"mapbox:master","ref":"master","sha":"83ebd5f6ff56fddd4a2923f6c082977476cddd99","user":{"login":"mapbox","id":600935,"avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":16286131,"name":"mapbox-gl-native","full_name":"mapbox/mapbox-gl-native","owner":{"login":"mapbox","id":600935,"avatar_url":"https://avatars1.githubusercontent.com/u/600935?v=4","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/mapbox-gl-native","description":"Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL","fork":false,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native","forks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/forks","keys_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/teams","hooks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/hooks","issue_events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/events","assignees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/tags","blobs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/languages","stargazers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/stargazers","contributors_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contributors","subscribers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscribers","subscription_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscription","commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/merges","archive_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/downloads","issues_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/deployments","created_at":"2014-01-27T17:14:48Z","updated_at":"2018-05-29T18:17:36Z","pushed_at":"2018-05-30T05:22:42Z","git_url":"git://github.com/mapbox/mapbox-gl-native.git","ssh_url":"git@github.com:mapbox/mapbox-gl-native.git","clone_url":"https://github.com/mapbox/mapbox-gl-native.git","svn_url":"https://github.com/mapbox/mapbox-gl-native","homepage":"https://mapbox.com/mobile","size":205704,"stargazers_count":2621,"watchers_count":2621,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":819,"mirror_url":null,"archived":false,"open_issues_count":704,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":819,"open_issues":704,"watchers":2621,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025"},"html":{"href":"https://github.com/mapbox/mapbox-gl-native/pull/12025"},"issue":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/12025"},"comments":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/12025/comments"},"review_comments":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025/comments"},"review_comment":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/12025/commits"},"statuses":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/17e6b37a74e8b554f25920300645f8b6a95d3326"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"brunoabinader"}}