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

Update Android Circle CI docker image to NDK 18 #12972

Closed
wants to merge 1 commit into from

Conversation

tobrun
Copy link
Member

@tobrun tobrun commented Sep 26, 2018

This image brings: NDK 18 + build tools 28.0.3

@tobrun tobrun added the Android Mapbox Maps SDK for Android label Sep 26, 2018
@tobrun tobrun added this to the android-v6.6.0 milestone Sep 26, 2018
@tobrun tobrun self-assigned this Sep 26, 2018
@tobrun
Copy link
Member Author

tobrun commented Sep 26, 2018

On android-debug-arm-v7 and android-release, we are hitting:

In file included from /src/src/mbgl/actor/mailbox.cpp:1:
In file included from ../../../../../../../include/mbgl/actor/mailbox.hpp:3:
In file included from ../../../../../../../include/mbgl/util/optional.hpp:3:
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/experimental/optional:11:2: error: "<experimental/optional> has been removed. Use <optional> instead."
#error "<experimental/optional> has been removed. Use <optional> instead."
 ^
In file included from /src/src/mbgl/actor/mailbox.cpp:1:
In file included from ../../../../../../../include/mbgl/actor/mailbox.hpp:3:
../../../../../../../include/mbgl/util/optional.hpp:8:18: error: use of undeclared identifier 'std'
using optional = std::experimental::optional<T>;
                 ^
../../../../../../../include/mbgl/util/optional.hpp:10:19: error: use of undeclared identifier 'std'
using nullopt_t = std::experimental::nullopt_t;
                  ^
../../../../../../../include/mbgl/util/optional.hpp:11:11: error: unknown type name 'nullopt_t'
constexpr nullopt_t nullopt = std::experimental::nullopt;
          ^
../../../../../../../include/mbgl/util/optional.hpp:11:31: error: use of undeclared identifier 'std'
constexpr nullopt_t nullopt = std::experimental::nullopt;
                              ^
In file included from /src/src/mbgl/actor/mailbox.cpp:1:
../../../../../../../include/mbgl/actor/mailbox.hpp:39:5: error: no template named 'optional'
    optional<Scheduler*> scheduler;
    ^
/src/src/mbgl/actor/mailbox.cpp:31:32: error: no matching member function for call to 'shared_from_this'
        (*scheduler)->schedule(shared_from_this());
                               ^~~~~~~~~~~~~~~~
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5340:21: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp> shared_from_this()
                    ^
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5343:27: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'const std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp const> shared_from_this() const
                          ^
/src/src/mbgl/actor/mailbox.cpp:61:32: error: no matching member function for call to 'shared_from_this'
        (*scheduler)->schedule(shared_from_this());
                               ^~~~~~~~~~~~~~~~
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5340:21: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp> shared_from_this()
                    ^
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5343:27: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'const std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp const> shared_from_this() const
                          ^
/src/src/mbgl/actor/mailbox.cpp:88:32: error: no matching member function for call to 'shared_from_this'
        (*scheduler)->schedule(shared_from_this());
                               ^~~~~~~~~~~~~~~~
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5340:21: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp> shared_from_this()
                    ^
/android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:5343:27: note: candidate function not viable: no known conversion from 'mbgl::Mailbox' to 'const std::__ndk1::enable_shared_from_this<mbgl::Mailbox>' for object argument
    shared_ptr<_Tp const> shared_from_this() const
                          ^
In file included from /src/src/mbgl/actor/mailbox.cpp:1:
../../../../../../../include/mbgl/actor/mailbox.hpp:39:26: error: private field 'scheduler' is not used [-Werror,-Wunused-private-field]
    optional<Scheduler*> scheduler;
                         ^
10 errors generated.

Which are patchable, but android-gnustl-arm-v7 isn't as NDK 18 removes support for gnustl:

Release notes:

  • GCC has been removed.
  • LLD is now available for testing. AOSP is in the process of switching to using LLD by default and the
    NDK will follow (timeline unknown). Test LLD in your app by passing -fuse-ld=lld when linking.
  • gnustl, gabi++, and stlport have been removed.
  • Support for ICS (android-14 and android-15) has been removed. Apps using executables no longer need to provide both a PIE and non-PIE executable.
  • The Play Store will require 64-bit support when uploading an APK beginning in August 2019. Start porting now to avoid surprises when the time comes. For more information, see this blog post.

@kkaefer:
Thoughts on this?
Should we hold off on upgrading for the time being?
Start maintaining two different images?

@stale
Copy link

stale bot commented Dec 10, 2018

This pull request has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale
Copy link

stale bot commented Dec 12, 2018

This pull request has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this Dec 12, 2018
@tobrun tobrun reopened this Dec 12, 2018
@stale stale bot removed the archived Archived because of inactivity label Dec 12, 2018
@tobrun
Copy link
Member Author

tobrun commented Jan 28, 2019

This landed

@tobrun tobrun closed this Jan 28, 2019
@friedbunny friedbunny deleted the tvn-bump-ci-image branch March 22, 2019 21:21
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants