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
Comments
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. |
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. |
Do you need libtinfow? It seems that it's not supported in setup.py, |
IOW, on Linux tinfo should work fine in combination with ncursesw. |
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. |
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:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: