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

missing symbols in curses and readline modules on android #71040

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

missing symbols in curses and readline modules on android #71040

xdegaye mannequin opened this issue Apr 26, 2016 · 5 comments
Labels
build The build process and cross-build type-bug An unexpected behavior, bug, or error

Comments

@xdegaye
Copy link
Mannequin

xdegaye mannequin commented Apr 26, 2016

BPO 26853
Nosy @skrah, @xdegaye, @Fak3, @moreati, @yan12125
Files
  • curses_readline.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 = None
    closed_at = <Date 2016-04-28.08:01:03.501>
    created_at = <Date 2016-04-26.13:01:37.720>
    labels = ['type-bug', 'invalid', 'build']
    title = 'missing symbols in curses and readline modules on android'
    updated_at = <Date 2016-04-28.08:01:03.500>
    user = 'https://github.com/xdegaye'

    bugs.python.org fields:

    activity = <Date 2016-04-28.08:01:03.500>
    actor = 'xdegaye'
    assignee = 'none'
    closed = True
    closed_date = <Date 2016-04-28.08:01:03.501>
    closer = 'xdegaye'
    components = ['Cross-Build']
    creation = <Date 2016-04-26.13:01:37.720>
    creator = 'xdegaye'
    dependencies = []
    files = ['42604']
    hgrepos = []
    issue_num = 26853
    keywords = ['patch']
    message_count = 5.0
    messages = ['264274', '264319', '264327', '264329', '264422']
    nosy_count = 5.0
    nosy_names = ['skrah', 'xdegaye', 'Roman.Evstifeev', 'Alex.Willmer', 'yan12125']
    pr_nums = []
    priority = 'normal'
    resolution = 'not a bug'
    stage = None
    status = 'closed'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue26853'
    versions = ['Python 3.6']

    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Apr 26, 2016

    The android loader complains when shared libraries are not linked against their needed libraries (see also issue bpo-21668). When ncurses is cross-compiled as a shared library, the curses and readline modules must be linked with libtinfow.so.

    The attached patch is a quick hack: setup.py spawns readelf to get the list of needed libraries, but this fails as the readelf path name is wrong (it is not the absolute path) and so cannot be used as is for a correct patch.

    @xdegaye xdegaye mannequin added build The build process and cross-build type-bug An unexpected behavior, bug, or error labels Apr 26, 2016
    @yan12125
    Copy link
    Mannequin

    yan12125 mannequin commented Apr 26, 2016

    Things may be different if ncurses is built with --without-termlib or --enable-widec is not specified. I wasn't hit by this bug as my ncurses is built with --without-termlib.

    @skrah
    Copy link
    Mannequin

    skrah mannequin commented Apr 26, 2016

    Do you need libtinfow? It seems that it's not supported in setup.py,
    and getting even libtinfo support into some Linux distributions took
    quite a while.

    @skrah
    Copy link
    Mannequin

    skrah mannequin commented Apr 26, 2016

    IOW, on Linux tinfo should work fine in combination with ncursesw.

    @xdegaye
    Copy link
    Mannequin Author

    xdegaye mannequin commented Apr 28, 2016

    Thanks Chi Hsuan Yen and Stefan. Indeed the --with-termlib configure option documentation states: "When building the ncurses library, organize this as two parts: the curses library (libncurses) and the low-level terminfo library (libtinfo)". Using --without-termlib prevents that split.

    My previous comment about readelf is wrong, the gcc cross-compiler is in the $PATH directory search path, as well as readelf.

    Closing this issue as not a bug.

    @xdegaye xdegaye mannequin closed this as completed Apr 28, 2016
    @xdegaye xdegaye mannequin added the invalid label Apr 28, 2016
    @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 type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    0 participants