[OE-core] [oe-core] db : Include C++ binding library in Berkeley DB recipe.

Saul Wold sgw at linux.intel.com
Sun Dec 29 04:27:41 UTC 2013


On 12/27/2013 09:54 AM, Philip Balister wrote:
> Create the C++ library for db. This library is packaged in a new
> package so the db package only contains the c library. This prevents
> existing users from adding libstdc++ to the package DEPENDS.
>

This change seems to introduce a packaging failure when building the sdk 
using -c populate_sdk.

ERROR: QA Issue: package nativesdk-db-cxx contains bad RPATH 
$ORIGIN/../../../../../../../home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/i686-nativesdk-pokysdk-linux/opt/poky/1.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib:$ORIGIN/.:$ORIGIN/../../lib 
in file 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-db/5.3.21-r0/packages-split/nativesdk-db-cxx/opt/poky/1.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib/libdb_cxx-5.3.so
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/work/i686-nativesdk-pokysdk-linux/nativesdk-db/5.3.21-r0/temp/log.do_package.21337
NOTE: recipe nativesdk-db-5.3.21-r0: task do_package: Failed


Sau!

> Signed-off-by: Philip Balister <philip at balister.org>
> Signed-off-by: Douglas Geiger <doug.geiger at bioradiation.net>
> Signed-off-by: Steve Arnold <esteve at gentoogeek.org>
> ---
>   meta/recipes-support/db/db_5.3.21.bb | 21 ++++++++++++++-------
>   1 file changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/meta/recipes-support/db/db_5.3.21.bb b/meta/recipes-support/db/db_5.3.21.bb
> index 328f9db..1f1eca2 100644
> --- a/meta/recipes-support/db/db_5.3.21.bb
> +++ b/meta/recipes-support/db/db_5.3.21.bb
> @@ -17,7 +17,8 @@ RCONFLICTS_${PN} = "db3"
>
>   SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
>   SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \
> -            file://fix-parallel-build.patch"
> +            file://fix-parallel-build.patch \
> +           "
>
>   SRC_URI[md5sum] = "3fda0b004acdaa6fa350bfc41a3b95ca"
>   SRC_URI[sha256sum] = "ddd92a930317df92021054c03992392db9ea5cddba43bef8920d392a82114fb8"
> @@ -47,18 +48,22 @@ B = "${WORKDIR}/db-${PV}/build_unix"
>   # management on the system.
>   inherit lib_package
>
> +PACKAGES =+ "${PN}-cxx"
> +FILES_${PN}-cxx = "${libdir}/*cxx*so"
> +
> +
>   # The dev package has the .so link (as in db3) and the .a's -
>   # it is therefore incompatible (cannot be installed at the
>   # same time) as the db3 package
>   # sort out the .so since they do version prior to the .so
>   SOLIBS = "-5*.so"
> -FILES_SOLIBSDEV = "${libdir}/libdb.so"
> +FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so"
>
>   #configuration - set in local.conf to override
>   # All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
>   DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
>
> -EXTRA_OECONF = "${DB5_CONFIG}"
> +EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx"
>
>   # Override the MUTEX setting here, the POSIX library is
>   # the default - "POSIX/pthreads/library".
> @@ -80,16 +85,17 @@ do_configure() {
>   	oe_runconf
>   }
>
> +do_compile_prepend_class-target() {
> +	sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \
> +		${B}/libtool
> +}
> +
>   do_install_append() {
>   	mkdir -p ${D}/${includedir}/db51
> -	#mv ${D}/${includedir}/db_185.h ${D}/${includedir}/db51/.
>   	mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
>   	mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
> -	#mv ${D}/${includedir}/dbsql.h ${D}/${includedir}/db51/.
> -	#ln -s db51/db_185.h ${D}/${includedir}/db_185.h
>   	ln -s db51/db.h ${D}/${includedir}/db.h
>   	ln -s db51/db_cxx.h ${D}/${includedir}/db_cxx.h
> -	#ln -s db51/dbsql.h ${D}/${includedir}/dbsql.h
>
>   	# The docs end up in /usr/docs - not right.
>   	if test -d "${D}/${prefix}/docs"
> @@ -103,6 +109,7 @@ do_install_append() {
>   }
>
>   INSANE_SKIP_${PN} = "dev-so"
> +INSANE_SKIP_${PN}-cxx = "dev-so"
>
>   BBCLASSEXTEND = "native nativesdk"
>
>



More information about the Openembedded-core mailing list