[4.4] ncurses ABI5 compatability package not available

REPRODUCIBILITY (% or how often): 100%
BUILD ID = OS VERSION (Settings > About product): 4.4.0.58
HARDWARE (XA2, X10, X10 II, …): ???
UI LANGUAGE: any
REGRESSION: (compared to previous public release: Yes, No, ?): yes

DESCRIPTION:

ncurses compatability package not available

PRECONDITIONS:

  1. have something linking to libtinfo.so or other ncurses libraries installed (packagename)

STEPS TO REPRODUCE:

  1. upgrade from any version to 4.4
  2. package is uninstalled during upgrade process because of library requirement
  3. try to reinstall the package from preconditions

EXPECTED RESULT:

Compatibility package should be available and published

ACTUAL RESULT:

Fatal error: nothing provides ‘libncursesw.so.5’ needed by the to be installed

ADDITIONAL INFORMATION:

4 Likes

Hello.

This is intentional.
We have an ncurse-libs5 package but we decided to not enable it by default since it is not an ABI we publicly support nor is ncurses used during the upgrade process.

However ncurses can be build with ncurses ABI5 subpackage enabled by building ncurses with --with-ncurses_abi5 passed to rpmbuild/mb2.
On OBS this can be achieved by defining %_with_ncurses_abi5 1

Any program uses Ncurses has to be rebuild with the newer package that provides ABI6 installed.

3 Likes

Thank you for the answer.

This is marked as ‘fixed’ and ‘solved’ now though it’s more of a ‘wontfix’ status.

Yes, the terminology isn’t ideal; I’m not sure what would be better though. My feeling is it would be better to avoid having lots of different tags all of which are variants on “fixed/resolved/wontifx”, when what it really means is that no further action is due to be taken on it.

So, as end users, I understand we’ve got the following options:

  1. Wait for SailfishOS devs to change their minds and reconsider this (weird?) decision.
  2. Wait for console apps developers to recompile them using the new ABI6.
  3. Make ourselves basic developers and try to recompile ncurses with the evil ABI5 option.

I see. New task for the summer days…

That’s not the point Ncurses was never a public ABI, just recompile against ABI6 nothing breaks because of that.