After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789098 - Add Android Oreo Support
Add Android Oreo Support
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: cerbero
1.11.91
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-10-17 13:35 UTC by Andrew Esh
Modified: 2018-05-04 13:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add Android Oreo to Cerbero (1.19 KB, patch)
2017-10-17 13:35 UTC, Andrew Esh
accepted-commit_now Details | Review
Fix Glib Recipe in Cerbero for Android Oreo (1.17 KB, patch)
2017-10-17 13:44 UTC, Andrew Esh
reviewed Details | Review

Description Andrew Esh 2017-10-17 13:35:50 UTC
Created attachment 361740 [details] [review]
Add Android Oreo to Cerbero

Add support for Android Oreo (API-26)

Initial patch to the enums.py file, with other Oreo-specific patches to follow.
Comment 1 Andrew Esh 2017-10-17 13:44:12 UTC
Created attachment 361741 [details] [review]
Fix Glib Recipe in Cerbero for Android Oreo

The glib build has a problem with the HAVE_HASMNTOPT setting, which Oreo defines but does not support. The glib build mis-detects this and fails. This patch disables its use.
Comment 2 Sebastian Dröge (slomo) 2017-10-19 14:39:34 UTC
Comment on attachment 361741 [details] [review]
Fix Glib Recipe in Cerbero for Android Oreo

This should also be solveable by setting the corresponding ac_cv_* variable, as in prepare() is already done for others.

Why is it detected to be available but actually is not available?
Comment 3 Andrew Esh 2017-10-20 18:32:04 UTC
(In reply to Sebastian Dröge (slomo) from comment #2)
> Comment on attachment 361741 [details] [review] [review]
> Fix Glib Recipe in Cerbero for Android Oreo
> 
> This should also be solveable by setting the corresponding ac_cv_* variable,
> as in prepare() is already done for others.
> 
> Why is it detected to be available but actually is not available?

With a recent version of the NDK, possibly r15b, there was an entry in .../usr/include/mntent.h for API-26 (Oreo) that had "hasmntent" being included unconditionally. This caused a preprocessor conditional to include code which caused compile problems in glib. Specifically, build/sources/android_arm64/glib-2.50.3/gio/gunixmounts.c:511 has an error with the missing declarations of "hasmntent" and "MNTOPT_RO", so the mntent.h in the NDK is probably incompatible or incomplete. Rather than make corrections and extensions to the NDK header files to solve the real problem, I simply forced HAVE_HASMNTENT to be disabled after the glib configure had detected it in the NDK.

The "hasmntent" declaration is introduced in Oreo, conditionally included only in API-26, so I limited the recipe fix to only Oreo. Anyone who tries to compile glib for Oreo will find this problem.

I will make note of the use of av_cv cache variables for future reference. Thank you for the advice. You may reject this patch if you wish. I am not sure when I will have time to update it to use av_cv.
Comment 4 Sebastian Dröge (slomo) 2018-05-04 13:32:36 UTC
This should all be covered now