[OE-core] [PATCH 1/1] ncurses: drop the compatible option

dengke.du at windriver.com dengke.du at windriver.com
Thu Jan 21 09:34:15 UTC 2016


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 tomark 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 ofthe 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 at 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160121/ad775d5b/attachment-0002.html>


More information about the Openembedded-core mailing list