| Summary: | boost doesn't rebuild correctly | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Alexandru Roman <alexandru.costinx.roman> | ||||
| Component: | core | Assignee: | Ross Burton <ross.burton> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Alexandru Roman <alexandru.costinx.roman> | ||||
| Severity: | normal | ||||||
| Priority: | Medium+ | CC: | bogdanx.a.voiculescu, jku, jose.perez.carranza, meta.mr.watcher, meta.watcher, richard.purdie, valentinx.hangan | ||||
| Version: | 2.1 | ||||||
| Target Milestone: | 2.2 M1 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | Regression (Used to work) | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
Later on in the log, in the middle of package install listing:
error: libboost-iostreams1.60.0-1.60.0-r0 conflicts with libbz2.so.0()(64bit)
error: libboost-iostreams1.60.0-1.60.0-r0 conflicts with libbz2.so.0()(64bit)
error: boost-dev-1.60.0-r0 conflicts with libboost-random1.60.0
error: boost-dev-1.60.0-r0 conflicts with libboost-timer1.60.0
error: boost-dev-1.60.0-r0 conflicts with libboost-atomic1.60.0
error: boost-dev-1.60.0-r0 conflicts with boost-test
error: boost-dev-1.60.0-r0 conflicts with libboost-date-time1.60.0
error: boost-dev-1.60.0-r0 conflicts with boost = 1.60.0-r0
error: boost-dev-1.60.0-r0 conflicts with libboost-signals1.60.0
error: boost-dev-1.60.0-r0 conflicts with libboost-program-options1.60.0
error: boost-dev-1.60.0-r0 conflicts with libboost-graph1.60.0
error: boost-dev-1.60.0-r0 conflicts with boost-serialization
error: boost-dev-1.60.0-r0 conflicts with libboost-chrono1.60.0
After Ross' change to bz2, it renamed the .so from libbz2.so.0 to libbx2.so.1. This sounds like boost didn't rebuild after that change. I suspect its because boost doesn't rebuild cleanly, as demonstrated by some of Ross' later patches. Right, understood. Machine did a build in the past, with bzip2 producing libbz2.so.0. My bzip2 patches landed and the machine does a rebuild. bzip2 rebuilds as expected, and as boost depends on bzip2 it also rebuilt. However as boost doesn't clean its build in the krogoth branch it didn't actually rebuild so produced binaries that link to libbz2.so.0, which doesn't exist anymore. The fix for this is in "boost: delete the build directory before rebuilding" which should be merged into master soon (and backported to krogoth). The other workaround is to bump PR on boost... The fix in master-next should mean this will never happen, whereas a PR bump just fixes it this time. I think we should backport the boost rebuild fixes to krogoth. Fixed in master e96b6d73e0842e559810e780f20e49267ebb686e (and krogoth e96b6d73e0842e559810e780f20e49267ebb686e). Tested on below releases and is working correctly 2.2 M2= 36feb38045b7a2af86ece147fec54b0db3bf491f 2.1.1= 98c57bb512ea6790db8604fcf0b88c81651d2ab4 |
Created attachment 3154 [details] error log Appears on 6c1c01392d91f512e2949ad1d57a75a8077478ba OS: fedora 23, ubuntu 15.10, OpenSuse 13.2, CentOs 7.1 Build step: BuildImages Building core-image-sato-sdk failed Build fails with errors: ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Unable to install packages. Loading cache... Updating cache... ######################################## [100%] Computing transaction...warning: Can't install valgrind-dev-3.11.0-r0@core2_64: Can't install libboost-iostreams1.60.0-1.60.0-r0@core2_64: no package provides libbz2.so.0()(64bit) warning: Can't install packagegroup-core-tools-profile-dev-1.0-r3@qemux86_64: unable to install provider for valgrind-dev: warning: valgrind-dev-3.11.0-r0@core2_64 is to be installed warning: valgrind-dev-3.11.0-r0@core2_64 is to be installed See attached log for entire error log message.