Bug 5721

Summary: core-image-sato-sdk image for nuc having security flags enabled fails to build.
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Ionut Chisanovici <ionutx.chisanovici>
Component: coreAssignee: Saul Wold <sgw>
Status: VERIFIED FIXED QA Contact: Ionut Chisanovici <ionutx.chisanovici>
Severity: normal    
Priority: Medium CC: bogdanx.a.voiculescu, meta.mr.watcher, meta.watcher
Version: 1.6   
Target Milestone: 1.6   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Ionut Chisanovici 2014-01-13 16:21:44 UTC
Hi,

Tried to build a core-image-sato-sdk for nuc having security flags enabled in local.conf but the build fails.

Build Configuration:

BB_VERSION        = "1.21.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-19"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "nuc"
DISTRO            = "poky"
DISTRO_VERSION    = "1.5+snapshot-20140113"
TUNE_FEATURES     = "m64"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "master:1b636173ca88e5ccca1992f9a12367a1189fa674"
meta-intel        
meta-nuc          = "master:11fc51c05f378b7fef2f5879e8e1f11d7046e85b"

Local.conf:

MACHINE ?= "nuc"
require /home/ionut/work/poky/meta/conf/distro/include/security_flags.inc

Error:

ERROR: Function failed: do_compile (log file is located at /home/ionut/work/poky/build/tmp/work/x86_64-poky-linux/db/5.3.21-r0/temp/log.do_compile.20814)
ERROR: Logfile of failure stored in: /home/ionut/work/poky/build/tmp/work/x86_64-poky-linux/db/5.3.21-r0/temp/log.do_compile.20814
......
| ./libtool --mode=link x86_64-poky-linux-gcc  -m64 --sysroot=/home/ionut/work/poky/build/tmp/sysroots/nuc  -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-all -pie -fpie -D_FORTIFY_SOURCE=2  -o db_load -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now \
|     db_load.lo util_cache.lo util_sig.lo libdb-5.3.la -lpthread
| ./libtool --mode=execute true db_verify
| libtool: link: x86_64-poky-linux-gcc -m64 --sysroot=/home/ionut/work/poky/build/tmp/sysroots/nuc -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-all -pie -fpie -D_FORTIFY_SOURCE=2 -o .libs/db_load -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now .libs/db_load.o .libs/util_cache.o .libs/util_sig.o  ./.libs/libdb-5.3.so -lpthread
| ./libtool --mode=execute true db_load
| ./libtool --mode=link x86_64-poky-linux-g++  -m64 --sysroot=/home/ionut/work/poky/build/tmp/sysroots/nuc -avoid-version  -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-all -pie -fpie -D_FORTIFY_SOURCE=2 -fpermissive -fvisibility-inlines-hidden -rpath /usr/lib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now \
|     -o libdb_cxx-5.3.la cxx_channel.lo cxx_db.lo cxx_dbc.lo cxx_dbt.lo cxx_env.lo cxx_except.lo cxx_lock.lo cxx_logc.lo cxx_mpool.lo cxx_multi.lo cxx_rid.lo cxx_seq.lo cxx_site.lo cxx_txn.lo mut_tas.lo mut_pthread.lo  bt_compare.lo bt_compress.lo bt_conv.lo bt_curadj.lo bt_cursor.lo bt_delete.lo bt_method.lo bt_open.lo bt_put.lo bt_rec.lo bt_reclaim.lo bt_recno.lo bt_rsearch.lo bt_search.lo bt_split.lo bt_stat.lo bt_compact.lo bt_upgrade.lo btree_auto.lo hash.lo hash_auto.lo hash_compact.lo hash_conv.lo hash_dup.lo hash_meta.lo hash_method.lo hash_open.lo hash_page.lo hash_rec.lo hash_reclaim.lo hash_stat.lo hash_upgrade.lo heap.lo heap_auto.lo heap_backup.lo heap_conv.lo heap_method.lo heap_open.lo heap_rec.lo heap_reclaim.lo heap_stat.lo qam_stub.lo rep_stub.lo repmgr_stub.lo db_vrfy_stub.lo log_verify_stub.lo lock.lo lock_deadlock.lo lock_failchk.lo lock_id.lo lock_list.lo lock_method.lo lock_region.lo lock_stat.lo lock_timer.lo lock_util.lo mut_alloc.lo mut_failchk.lo mut_method.lo mut_region.lo mut_stat.lo  crypto_stub.lo clock.lo crdel_auto.lo crdel_rec.lo db.lo db_am.lo db_auto.lo db_backup.lo db_byteorder.lo db_cam.lo db_cds.lo db_compact.lo db_compint.lo db_conv.lo db_copy.lo db_dispatch.lo db_dup.lo db_err.lo db_getlong.lo db_idspace.lo db_iface.lo db_join.lo db_log2.lo db_meta.lo db_method.lo db_open.lo db_overflow.lo db_pr.lo db_rec.lo db_reclaim.lo db_remove.lo db_rename.lo db_ret.lo db_setid.lo db_setlsn.lo db_shash.lo db_sort_multiple.lo db_stati.lo db_truncate.lo db_upg.lo db_upg_opd.lo dbreg.lo dbreg_stat.lo dbreg_auto.lo dbreg_rec.lo dbreg_util.lo dbt.lo env_alloc.lo env_config.lo env_backup.lo env_failchk.lo env_file.lo env_globals.lo env_open.lo env_method.lo env_name.lo env_recover.lo env_region.lo env_register.lo env_sig.lo env_stat.lo fileops_auto.lo fop_basic.lo fop_rec.lo fop_util.lo hash_func.lo hmac.lo log.lo log_archive.lo log_compare.lo log_debug.lo log_get.lo log_method.lo log_print.lo log_put.lo log_stat.lo mkpath.lo mp_alloc.lo mp_backup.lo mp_bh.lo mp_fget.lo mp_fmethod.lo mp_fopen.lo mp_fput.lo mp_fset.lo mp_method.lo mp_mvcc.lo mp_region.lo mp_register.lo mp_resize.lo mp_stat.lo mp_sync.lo mp_trickle.lo openflags.lo os_abort.lo os_abs.lo os_alloc.lo os_clock.lo os_cpu.lo os_ctime.lo os_config.lo os_dir.lo os_errno.lo os_fid.lo os_flock.lo os_fsync.lo os_getenv.lo os_handle.lo os_map.lo os_method.lo os_mkdir.lo os_open.lo os_path.lo os_pid.lo os_rename.lo os_root.lo os_rpath.lo os_rw.lo os_seek.lo os_stack.lo os_stat.lo os_tmpdir.lo os_truncate.lo os_uid.lo os_unlink.lo os_yield.lo partition.lo seq_stat.lo sequence.lo sha1.lo snprintf.lo txn.lo txn_auto.lo txn_chkpt.lo txn_failchk.lo txn_method.lo txn_rec.lo txn_recover.lo txn_region.lo txn_stat.lo txn_util.lo xa.lo xa_map.lo zerofill.lo   -lpthread
| libtool: link: warning: library `/home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib/libstdc++.la' was moved.
| libtool: link: x86_64-poky-linux-g++  -m64 --sysroot=/home/ionut/work/poky/build/tmp/sysroots/nuc  -fPIC -DPIC -shared -nostdlib /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib/Scrt1.o /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib/crti.o /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/x86_64-poky-linux/4.8.2/crtbeginS.o  .libs/cxx_channel.o .libs/cxx_db.o .libs/cxx_dbc.o .libs/cxx_dbt.o .libs/cxx_env.o .libs/cxx_except.o .libs/cxx_lock.o .libs/cxx_logc.o .libs/cxx_mpool.o .libs/cxx_multi.o .libs/cxx_rid.o .libs/cxx_seq.o .libs/cxx_site.o .libs/cxx_txn.o .libs/mut_tas.o .libs/mut_pthread.o .libs/bt_compare.o .libs/bt_compress.o .libs/bt_conv.o .libs/bt_curadj.o .libs/bt_cursor.o .libs/bt_delete.o .libs/bt_method.o .libs/bt_open.o .libs/bt_put.o .libs/bt_rec.o .libs/bt_reclaim.o .libs/bt_recno.o .libs/bt_rsearch.o .libs/bt_search.o .libs/bt_split.o .libs/bt_stat.o .libs/bt_compact.o .libs/bt_upgrade.o .libs/btree_auto.o .libs/hash.o .libs/hash_auto.o .libs/hash_compact.o .libs/hash_conv.o .libs/hash_dup.o .libs/hash_meta.o .libs/hash_method.o .libs/hash_open.o .libs/hash_page.o .libs/hash_rec.o .libs/hash_reclaim.o .libs/hash_stat.o .libs/hash_upgrade.o .libs/heap.o .libs/heap_auto.o .libs/heap_backup.o .libs/heap_conv.o .libs/heap_method.o .libs/heap_open.o .libs/heap_rec.o .libs/heap_reclaim.o .libs/heap_stat.o .libs/qam_stub.o .libs/rep_stub.o .libs/repmgr_stub.o .libs/db_vrfy_stub.o .libs/log_verify_stub.o .libs/lock.o .libs/lock_deadlock.o .libs/lock_failchk.o .libs/lock_id.o .libs/lock_list.o .libs/lock_method.o .libs/lock_region.o .libs/lock_stat.o .libs/lock_timer.o .libs/lock_util.o .libs/mut_alloc.o .libs/mut_failchk.o .libs/mut_method.o .libs/mut_region.o .libs/mut_stat.o .libs/crypto_stub.o .libs/clock.o .libs/crdel_auto.o .libs/crdel_rec.o .libs/db.o .libs/db_am.o .libs/db_auto.o .libs/db_backup.o .libs/db_byteorder.o .libs/db_cam.o .libs/db_cds.o .libs/db_compact.o .libs/db_compint.o .libs/db_conv.o .libs/db_copy.o .libs/db_dispatch.o .libs/db_dup.o .libs/db_err.o .libs/db_getlong.o .libs/db_idspace.o .libs/db_iface.o .libs/db_join.o .libs/db_log2.o .libs/db_meta.o .libs/db_method.o .libs/db_open.o .libs/db_overflow.o .libs/db_pr.o .libs/db_rec.o .libs/db_reclaim.o .libs/db_remove.o .libs/db_rename.o .libs/db_ret.o .libs/db_setid.o .libs/db_setlsn.o .libs/db_shash.o .libs/db_sort_multiple.o .libs/db_stati.o .libs/db_truncate.o .libs/db_upg.o .libs/db_upg_opd.o .libs/dbreg.o .libs/dbreg_stat.o .libs/dbreg_auto.o .libs/dbreg_rec.o .libs/dbreg_util.o .libs/dbt.o .libs/env_alloc.o .libs/env_config.o .libs/env_backup.o .libs/env_failchk.o .libs/env_file.o .libs/env_globals.o .libs/env_open.o .libs/env_method.o .libs/env_name.o .libs/env_recover.o .libs/env_region.o .libs/env_register.o .libs/env_sig.o .libs/env_stat.o .libs/fileops_auto.o .libs/fop_basic.o .libs/fop_rec.o .libs/fop_util.o .libs/hash_func.o .libs/hmac.o .libs/log.o .libs/log_archive.o .libs/log_compare.o .libs/log_debug.o .libs/log_get.o .libs/log_method.o .libs/log_print.o .libs/log_put.o .libs/log_stat.o .libs/mkpath.o .libs/mp_alloc.o .libs/mp_backup.o .libs/mp_bh.o .libs/mp_fget.o .libs/mp_fmethod.o .libs/mp_fopen.o .libs/mp_fput.o .libs/mp_fset.o .libs/mp_method.o .libs/mp_mvcc.o .libs/mp_region.o .libs/mp_register.o .libs/mp_resize.o .libs/mp_stat.o .libs/mp_sync.o .libs/mp_trickle.o .libs/openflags.o .libs/os_abort.o .libs/os_abs.o .libs/os_alloc.o .libs/os_clock.o .libs/os_cpu.o .libs/os_ctime.o .libs/os_config.o .libs/os_dir.o .libs/os_errno.o .libs/os_fid.o .libs/os_flock.o .libs/os_fsync.o .libs/os_getenv.o .libs/os_handle.o .libs/os_map.o .libs/os_method.o .libs/os_mkdir.o .libs/os_open.o .libs/os_path.o .libs/os_pid.o .libs/os_rename.o .libs/os_root.o .libs/os_rpath.o .libs/os_rw.o .libs/os_seek.o .libs/os_stack.o .libs/os_stat.o .libs/os_tmpdir.o .libs/os_truncate.o .libs/os_uid.o .libs/os_unlink.o .libs/os_yield.o .libs/partition.o .libs/seq_stat.o .libs/sequence.o .libs/sha1.o .libs/snprintf.o .libs/txn.o .libs/txn_auto.o .libs/txn_chkpt.o .libs/txn_failchk.o .libs/txn_method.o .libs/txn_rec.o .libs/txn_recover.o .libs/txn_region.o .libs/txn_stat.o .libs/txn_util.o .libs/xa.o .libs/xa_map.o .libs/zerofill.o   -lpthread -L/home/ionut/work/poky/build/tmp/sysroots/x86_64-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/4.8.2 -L/home/ionut/work/poky/build/tmp/sysroots/nuc/lib/../lib -L/home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/x86_64-poky-linux/4.8.2 -L/home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib -L/home/ionut/work/poky/build/tmp/sysroots/nuc/lib -L/home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib/libstdc++.so -lm -lc -lgcc_s -lgcc /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/x86_64-poky-linux/4.8.2/crtendS.o /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/../lib/crtn.o  -m64 --sysroot=/home/ionut/work/poky/build/tmp/sysroots/nuc -O2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now   -Wl,-soname -Wl,libdb_cxx-5.3.so -o .libs/libdb_cxx-5.3.so
| /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
| /home/ionut/work/poky/build/tmp/work/x86_64-poky-linux/eglibc/2.18-r0/eglibc-2.18/libc/csu/elf-init.c:86: undefined reference to `__init_array_start'
| /home/ionut/work/poky/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.8.2/ld: /home/ionut/work/poky/build/tmp/sysroots/nuc/usr/lib/libc_nonshared.a(elf-init.oS): relocation R_X86_64_PC32 against undefined hidden symbol `__init_array_start' can not be used when making a shared object
| /home/ionut/work/poky/build/tmp/sysroots/x86_64-linux/usr/libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.8.2/ld: final link failed: Bad value
| collect2: error: ld returned 1 exit status
| make: *** [libdb_cxx-5.3.la] Error 1
| ERROR: oe_runmake failed
| WARNING: /home/ionut/work/poky/build/tmp/work/x86_64-poky-linux/db/5.3.21-r0/temp/run.do_compile.20814:1 exit 1 from
|   exit 1
| ERROR: Function failed: do_compile (log file is located at /home/ionut/work/poky/build/tmp/work/x86_64-poky-linux/db/5.3.21-r0/temp/log.do_compile.20814)
ERROR: Task 1213 (/home/ionut/work/poky/meta/recipes-support/db/db_5.3.21.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3400 tasks of which 36 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
  /home/ionut/work/poky/meta/recipes-support/db/db_5.3.21.bb, do_compile
Summary: There were 12 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code
Comment 2 Ionut Chisanovici 2014-01-15 15:05:05 UTC
Hi,

This is solved and verified now.
Tested with:
meta-yocto-bsp    = "master:e4c23f7bcb79072ea6028fbdf8f3f0dc17a63371"
meta-intel
meta-nuc          = "master:11fc51c05f378b7fef2f5879e8e1f11d7046e85b"

Cheers,
Ionut C