Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

android: SYS_getdents64 does not need to be defined on android API 21 #71049

Closed
xdegaye mannequin opened this issue Apr 26, 2016 · 12 comments
Closed

android: SYS_getdents64 does not need to be defined on android API 21 #71049

xdegaye mannequin opened this issue Apr 26, 2016 · 12 comments
Assignees
Labels
build The build process and cross-build

Comments

@xdegaye
Copy link
Mannequin

xdegaye mannequin commented Apr 26, 2016

BPO 26862
Nosy @gpshead, @vstinner, @skrah, @xdegaye, @Fak3, @moreati, @yan12125, @cschramm
Files
  • posixmodule.patch
  • posixmodule.patch: with a test of the android api level at compile time
  • posixmodule_3.patch
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/xdegaye'
    closed_at = <Date 2016-06-15.10:04:53.860>
    created_at = <Date 2016-04-26.13:49:48.436>
    labels = ['build']
    title = 'android: SYS_getdents64 does not need to be defined on android API 21'
    updated_at = <Date 2016-10-28.15:54:17.841>
    user = 'https://github.com/xdegaye'

    bugs.python.org fields:

    activity = <Date 2016-10-28.15:54:17.841>
    actor = 'cschramm'
    assignee = 'xdegaye'
    closed = True
    closed_date = <Date 2016-06-15.10:04:53.860>
    closer = 'xdegaye'
    components = ['Cross-Build']
    creation = <Date 2016-04-26.13:49:48.436>
    creator = 'xdegaye'
    dependencies = []
    files = ['42613', '42629', '43234']
    hgrepos = []
    issue_num = 26862
    keywords = ['patch']
    message_count = 12.0
    messages = ['264287', '264305', '264331', '264366', '267414', '268378', '268550', '268615', '279604', '279606', '279608', '279610']
    nosy_count = 9.0
    nosy_names = ['gregory.p.smith', 'vstinner', 'skrah', 'xdegaye', 'python-dev', 'Roman.Evstifeev', 'Alex.Willmer', 'yan12125', 'cschramm']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue26862'
    versions = ['Python 3.6']

    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Apr 26, 2016

    Revert the changeset commited at issue bpo-20307 as the compilation does not fail anymore on android API level 21.

    Patch attached.

    @xdegaye xdegaye mannequin added build The build process and cross-build labels Apr 26, 2016
    @skrah
    Copy link
    Mannequin

    skrah mannequin commented Apr 26, 2016

    @Shiz: Can we settle on API level 21 or is there any reason to leave this in?

    @gpshead
    Copy link
    Member

    gpshead commented Apr 26, 2016

    I have no problem just removing the #ifdef as Android API 21 is now old enough (Lollipop / 5.0) that anyone building Python 3.6 for use on Android is probably fine with it.

    If there is a #define that can be used to test the android api level at compile time, adding that to the #if is another approach and would keep people who are trying to run something on an older version happy.

    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Apr 27, 2016

    New patch taking into account Gregory's comments.
    API level 19 is the last to have a sys/linux-syscalls.h header.
    All levels have a android/api-level.h header that define __ANDROID_API__.
    There is no API level 20, and SYS_getdents64 is defined at API level 21.

    @xdegaye xdegaye mannequin changed the title SYS_getdents64 does not need to be defined on android API 21 android: SYS_getdents64 does not need to be defined on android API 21 May 3, 2016
    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Jun 5, 2016

    The patch is simpler since android/api-level.h is now included in pyport.h by changeset 09af54099973.

    @skrah
    Copy link
    Mannequin

    skrah mannequin commented Jun 12, 2016

    posixmodule_3.patch looks good to me. Gregory has already approved the approach, so I think you can go ahead and commit this.

    @xdegaye xdegaye mannequin self-assigned this Jun 14, 2016
    @vstinner
    Copy link
    Member

    Stefan Krah: "posixmodule_3.patch looks good to me. Gregory has already approved the approach, so I think you can go ahead and commit this"

    I concur with Stefan: LGTM.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Jun 15, 2016

    New changeset 4ef3a93e1be2 by Xavier de Gaye in branch 'default':
    Issue bpo-26862: SYS_getdents64 does not need to be defined on android API 21.
    https://hg.python.org/cpython/rev/4ef3a93e1be2

    @xdegaye xdegaye mannequin closed this as completed Jun 15, 2016
    @cschramm
    Copy link
    Mannequin

    cschramm mannequin commented Oct 28, 2016

    Any plans to fix this in 3.5 as well?

    @yan12125
    Copy link
    Mannequin

    yan12125 mannequin commented Oct 28, 2016

    cschramm: AFAIK only Python 3.6+ has experimental Android support. 3.5 or below are not supported.

    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Oct 28, 2016

    Sorry, AFAIK there is no plan to retrofit the Android changes to 3.5.
    Note that Python 3.6 is expected to be released in few weeks, by next mid-december.

    @cschramm
    Copy link
    Mannequin

    cschramm mannequin commented Oct 28, 2016

    Well, the 3.5 code checks __ANDROID__ as well and works pretty fine on Android, but if it's not supposed to be supported, we'll have to upgrade to 3.6 then.

    Thanks for your work! :)

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants