According to the ncurses 6.0 release notes (the site is at "https://www.gnu.org/software/ncurses/"), the intent of the release is to provide a new stable ABI,
which is binary-incompatible with ncurses 5, but it can still be configured to support the ncurses5.  Because this release introduces symbol-versioning.
The symbol-versioning allows the developers of a library to mark each public sysmbol(both data and functions) with an identifier denoting the library name and
the version for which it was built. By doing this , users of the library have a way to help ensure that applications do not accidentally load an imcompatible library.
In addition, private sysmbols can be hidden entirely.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I first release the patch 5.9 -> 6.0  with the option --with-abi-version=5, I want to be compatible with the existing system, so I do the following test:

    $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), and no error happened .

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I second release the patch "drop the compatible option --with-abi-version=5", because I want to introduces the feature symbol-versioning, so I droped the
option --with-abi-version=5 , and I do the following test:

    $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), and no error happened.

Today, Robert let me test it on the following layers:

    /meta-openembedded/meta-oe
    /meta-openembedded/meta-networking
    /meta-openembedded/meta-meta-webserver

so I add the layers to my build and run the following commands:

    $bitbake world

It reported the following error:

    Summary: 15 tasks failed:
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.2.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb, do_fetch
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb, do_fetch
  virtual:native:/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb, do_install
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb, do_compile
  /buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb, do_package_qa


It seems the umip was affect by the ncurses version change. So I went to the log.do_compile, the log file say:

fatal error: gram.h : No such file or directory
compilation terminated


So I think the ncurses version change didn't affect the whole system. Then I release the patch "ncurses: drop the compatible option"

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On 2016年01月21日 10:17, Khem Raj wrote:
On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang <liezhi.yang@windriver.com> wrote:
I had talked with Dengke, we have upgraded ncurses to 6, so remove
--with-abi-version=5 seems better. He had tested world and sdk
build based on oe-core. He will test it based on meta-openembedded.
we need to ensure that all apps using ncurses are able to work with
new APIs if we drop compatibility.
may be have ncurses5 package still around to provide backward compatibility.



On 2016年01月21日 10:17, Khem Raj wrote:
On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang <liezhi.yang@windriver.com> wrote:
I had talked with Dengke, we have upgraded ncurses to 6, so remove
--with-abi-version=5 seems better. He had tested world and sdk
build based on oe-core. He will test it based on meta-openembedded.
we need to ensure that all apps using ncurses are able to work with
new APIs if we drop compatibility.
may be have ncurses5 package still around to provide backward compatibility.