| make[1]: Entering directory `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/form' | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/form/form.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | make[1]: Leaving directory `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/form' | cd c++ && make DESTDIR="/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image" install.includes | make[1]: Entering directory `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/c++' | DESTDIR=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image \ | prefix=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr \ | exec_prefix=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr \ | bindir=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/bin \ | top_srcdir=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9 \ | srcdir=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/misc \ | datadir=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/share \ | ticdir=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/share/terminfo \ | source=terminfo.tmp \ | cross_compiling=no \ | /bin/sh ./run_tic.sh | ** Building terminfo database, please wait... | Running sh /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/misc/shlib tic to install /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/share/terminfo ... | | You may see messages regarding extended capabilities, e.g., AX. | These are extended terminal capabilities which are compiled | using | tic -x | If you have ncurses 4.2 applications, you should read the INSTALL | document, and install the terminfo without the -x option. | | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/share/man/man1/ncurses5-config.1 | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursesapp.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursesf.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | tic: error while loading shared libraries: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/lib/libtinfo.so.5: file too short | ? tic could not build /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/share/terminfo | make[1]: *** [install.data] Error 1 | make[1]: Leaving directory `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/misc' | make: *** [install.data] Error 2 | make: *** Waiting for unfinished jobs.... | /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: total time in link: 0.040002 | /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: data size 6347904 | cd ../lib && (ln -s -f libtinfo.so.5.9 libtinfo.so.5; ln -s -f libtinfo.so.5 libtinfo.so; ) | /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: total time in link: 0.040002 | /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: data size 6347904 | cd /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib && (ln -s -f libtinfo.so.5.9 libtinfo.so.5; ln -s -f libtinfo.so.5 libtinfo.so; ) | test -z "/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image" && /sbin/ldconfig | make[1]: [/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libtinfo.so.5.9] Error 1 (ignored) | linking /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libtic.so.5.9 | ccache gcc -isystem/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include -D_GNU_SOURCE -O2 -pipe --param max-inline-insns-single=1200 -shared -Wl,-soname,`basename /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libtic.so.5.9 .5.9`.5,-stats,-lc -o /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libtic.so.5.9 ../obj_s/alloc_entry.o ../obj_s/captoinfo.o ../obj_s/comp_expand.o ../obj_s/comp_parse.o ../obj_s/comp_scan.o ../obj_s/parse_entry.o ../obj_s/write_entry.o -L../lib -ltinfo -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 | linking /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libncurses.so.5.9 | ccache gcc -isystem/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include -D_GNU_SOURCE -O2 -pipe --param max-inline-insns-single=1200 -shared -Wl,-soname,`basename /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libncurses.so.5.9 .5.9`.5,-stats,-lc -o /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib/libncurses.so.5.9 ../obj_s/hardscroll.o ../obj_s/hashmap.o ../obj_s/lib_addch.o ../obj_s/lib_addstr.o ../obj_s/lib_beep.o ../obj_s/lib_bkgd.o ../obj_s/lib_box.o ../obj_s/lib_chgat.o ../obj_s/lib_clear.o ../obj_s/lib_clearok.o ../obj_s/lib_clrbot.o ../obj_s/lib_clreol.o ../obj_s/lib_color.o ../obj_s/lib_colorset.o ../obj_s/lib_delch.o ../obj_s/lib_delwin.o ../obj_s/lib_echo.o ../obj_s/lib_endwin.o ../obj_s/lib_erase.o ../obj_s/lib_flash.o ../obj_s/lib_gen.o ../obj_s/lib_getch.o ../obj_s/lib_getstr.o ../obj_s/lib_hline.o ../obj_s/lib_immedok.o ../obj_s/lib_inchstr.o ../obj_s/lib_initscr.o ../obj_s/lib_insch.o ../obj_s/lib_insdel.o ../obj_s/lib_insnstr.o ../obj_s/lib_instr.o ../obj_s/lib_isendwin.o ../obj_s/lib_leaveok.o ../obj_s/lib_mouse.o ../obj_s/lib_move.o ../obj_s/lib_mvcur.o ../obj_s/lib_mvwin.o ../obj_s/lib_newterm.o ../obj_s/lib_newwin.o ../obj_s/lib_nl.o ../obj_s/lib_overlay.o ../obj_s/lib_pad.o ../obj_s/lib_printw.o ../obj_s/lib_redrawln.o ../obj_s/lib_refresh.o ../obj_s/lib_restart.o ../obj_s/lib_scanw.o ../obj_s/lib_screen.o ../obj_s/lib_scroll.o ../obj_s/lib_scrollok.o ../obj_s/lib_scrreg.o ../obj_s/lib_set_term.o ../obj_s/lib_slk.o ../obj_s/lib_slkatr_set.o ../obj_s/lib_slkatrof.o ../obj_s/lib_slkatron.o ../obj_s/lib_slkatrset.o ../obj_s/lib_slkattr.o ../obj_s/lib_slkclear.o ../obj_s/lib_slkcolor.o ../obj_s/lib_slkinit.o ../obj_s/lib_slklab.o ../obj_s/lib_slkrefr.o ../obj_s/lib_slkset.o ../obj_s/lib_slktouch.o ../obj_s/lib_touch.o ../obj_s/lib_tstp.o ../obj_s/lib_ungetch.o ../obj_s/lib_vidattr.o ../obj_s/lib_vline.o ../obj_s/lib_wattroff.o ../obj_s/lib_wattron.o ../obj_s/lib_winch.o ../obj_s/lib_window.o ../obj_s/nc_panel.o ../obj_s/safe_sprintf.o ../obj_s/tty_update.o ../obj_s/varargs.o ../obj_s/memmove.o ../obj_s/vsscanf.o ../obj_s/lib_freeall.o ../obj_s/expanded.o ../obj_s/legacy_coding.o ../obj_s/lib_dft_fgbg.o ../obj_s/lib_print.o ../obj_s/resizeterm.o ../obj_s/use_screen.o ../obj_s/use_window.o ../obj_s/wresize.o -L../lib -ltinfo -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/lib -Wl,-O1 | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursesm.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursesp.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursesw.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | installing /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/c++/cursslk.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include | installing etip.h in /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux/usr/include tic is run during do_install for ncruses-native and links against libtinfo which can end up getting rebuilt.
Hi Richard, I ran command "bitbake ncurses" and found that package "ncurses" can be built successfully. The steps I built are as follows: Host OS: ubuntu Host ARCH: x86-64 Target: qemux86, qemux86-64 Add "INCOMPATIBLE_LICENSE = "GPLv3"" to conf/local.conf $ bitbake ncurses Do you think the above steps are right? If I missed some steps, Please correct me. Thanks
Its a race issue, it sometimes occurs with high values of PARALLEL_MAKE. This means it will sometimes appear and sometimes not appear. There is some missing dependency within the project's makefiles.
Hi Richard, If this bug is caused by race issue, whether I can set PARALLEL_MAKE = "" in ncurses_5.9.bb for fixing this bug. Thanks Yan
Update the information: I've looked in to the code, this is a race issue which is caused by install.libs and install.data: 1) install.data needs run tic 2) tic needs libtinfo.so 3) install.libs would regenerate libtinfo.so 4) but install.data doesn't depend on install.libs, and they can run parallelly So there would be errors in a very critical condition: tic is begining to run at the same time when install.libs is generating libtinfo.so, and this libtinfo.so is not integrity, then there would be the error: tic: error while loading shared libraries: /path/to/lib/libtinfo.so.5: file too short Here are the related code: 1) The do_install in meta/recipes-core/ncurses/ncurses.inc: make install.libs ... install.data 2) The install.libs and install.data in ncurses-5.9/narrowc/Makefile, note that it uses the double-colon which means that the all the targets in different rules will be run, and if there are no prerequisites for that rule, its recipe is always executed (even if the target already exists). The install.libs is in 9 rules (just paste 2 here): install.libs uninstall.libs \ install.data uninstall.data :: cd misc && ${MAKE} ${CF_MFLAGS} $@ ... install.libs \ uninstall.libs \ install.ncurses \ uninstall.ncurses :: cd ncurses && ${MAKE} ${CF_MFLAGS} $@ ... 3) The install.libs in ncurses-5.9/narrowc/ncurses/Makefile: ../lib/libtinfo.so.$(REL_VERSION) : \ ../lib \ $(SHARED_T_OBJS) @echo linking $@ $(MK_SHARED_LIB) $(SHARED_T_OBJS) $(TINFO_LIST) $(LDFLAGS) cd ../lib && ($(LN_S) libtinfo.so.$(REL_VERSION) libtinfo.so.$(ABI_VERSION); $(LN_S) libtinfo.so.$(ABI_VERSION) libtinfo.so; ) The ../lib/libtinfo.so has been generated in the compile stage, but it would be regenerated since its prerequisites (../lib) has changed. The easiest way to fix this is first run install.libs, then install.data, here is the patch: diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index ae99e2c..6309b69 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -122,8 +122,17 @@ shell_do_install() { # Order of installation is important; widec installs a 'curses.h' # header with more definitions and must be installed last hence. # Compatibility of these headers will be checked in 'do_test()'. + + # The install.data should run after install.libs, otherwise + # there would be a race issue in a very critical conditon, since + # tic will be run by install.data, and tic needs libtinfo.so + # which would be regenerated by install.libs. oe_runmake -C narrowc ${_install_opts} \ - install.data install.progs + install.progs + + oe_runmake -C narrowc DESTDIR='${D}' \ + PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ + install.data ! ${ENABLE_WIDEC} || \ oe_runmake -C widec ${_install_opts} Another solution is modify the Makefiles, but that is not as simple as modify the ncurses.inc.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5022c3ecd7eb6e79da20d12cbf5d2c7992ba857c
(In reply to comment #5) > http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/ > ?id=5022c3ecd7eb6e79da20d12cbf5d2c7992ba857c In poky/denzil branch,the commit number is 0d0846e06f387caf1c7f0380072f92f5e33e0882 verified on : git info:73cdebf60df225ee10f2eb215935be3b61e1b831 git branch: poky/denzil tried running "bitbake meta-ide-support" with setting "BB_NUMBER_THREADS" and "PARALLEL_MAKE" some value in conf/local.conf in build dir,no error found. If someone found the same error, just reopen it.