Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-commits@lists.openembedded.org,
	openembedded-core@lists.openembedded.org
Subject: Re: [oe-commits] Mark Hatle : db: Add version 6.0.30
Date: Wed, 16 Jul 2014 11:25:27 -0500	[thread overview]
Message-ID: <53C6A777.4090301@windriver.com> (raw)
In-Reply-To: <20140716153336.GE2433@jama>

On 7/16/14, 10:33 AM, Martin Jansa wrote:
> On Wed, Jul 16, 2014 at 09:07:54AM -0500, Mark Hatle wrote:
>> On 7/16/14, 8:52 AM, Martin Jansa wrote:
>>> On Tue, Jul 08, 2014 at 10:20:41AM +0000, git@git.openembedded.org wrote:
>>>> Module: openembedded-core.git
>>>> Branch: master
>>>> Commit: 04bb223110da2f92725c341bc3ec0cf26325f675
>>>> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=04bb223110da2f92725c341bc3ec0cf26325f675
>>>>
>>>> Author: Mark Hatle <mark.hatle@windriver.com>
>>>> Date:   Wed Jul  2 19:57:43 2014 -0500
>>>>
>>>> db: Add version 6.0.30
>>>>
>>>> The latest version of RPM5 requires Berkley DB 6.0.20 or newer.
>>>>
>>>> The license is now AGPL-3.0 in BDB 6.0.  This may not be acceptable to some, so
>>>> the previous version is retained as an alternative.
>>>
>>> This is failing on some hosts with:
>>
>> That's odd..  what host OS's and toolchain versions is it failing on?
>>
>> The iostream.h file SHOULD exist in all systems that have C++ development installed.
>
> Gentoo, gcc-4.9 and iostream.h exists in usual locations (at least now), rebuilding db
> manually helped

I don't have gentoo anywhere to try to reproduce and figure out what is wrong 
here.  Does the db 5.x still compile properly?  (Switching preferred version)

Otherwise we'll have to find someone who has access to one of these hosts and 
can dig in to figure out why the include isn't being found.

--Mark

>>> | In file included from
>>> /OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/db/6.0.30-r0/db-6.0.30/lang/cxx/cxx_channel.cpp:13:0:
>>> | ./db_cxx.h:59:22: fatal error: iostream.h: No such file or directory
>>> |  #include <iostream.h>
>>> |                       ^
>>>
>>>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>>>> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>>>>
>>>> ---
>>>>
>>>>    .../db/db/arm-thumb-mutex_db5.patch                |  10 ++
>>>>    meta/recipes-support/db/db_6.0.30.bb               | 114 +++++++++++++++++++++
>>>>    2 files changed, 124 insertions(+)
>>>>
>>>> diff --git a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> index 40b13de..34e8db8 100644
>>>> --- a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> +++ b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
>>>> @@ -1,5 +1,15 @@
>>>> +Original patch submitted by jbowler@nslu2-linux.org on 2005-11-17:
>>>> +
>>>> +db: fix thumb uclibc operation in 4.3.29
>>>> +  - uclibc thumb builds were using libpthread to implement mutexes, the
>>>> +  - uclibc version seems to be a stub (at least on thumb).  This commit
>>>> +  - fixes the ARM/gcc-assembly mutex implementation so that it has thumb
>>>> +  - support and the resultant db4 works (tested on LE Thumb uclibc)
>>>> +
>>>>    Upstream-Status: Inappropriate [embedded specific]
>>>>
>>>> +Author: jbowler@nslu2-linux.org
>>>> +
>>>>    --- db-5.1.19/src/dbinc/mutex_int.h.orig	2011-01-05 19:21:42.181805366 -0600
>>>>    +++ db-5.1.19/src/dbinc/mutex_int.h	2011-01-05 19:24:53.141853117 -0600
>>>>    @@ -474,6 +474,25 @@
>>>> diff --git a/meta/recipes-support/db/db_6.0.30.bb b/meta/recipes-support/db/db_6.0.30.bb
>>>> new file mode 100644
>>>> index 0000000..9fc4a30
>>>> --- /dev/null
>>>> +++ b/meta/recipes-support/db/db_6.0.30.bb
>>>> @@ -0,0 +1,114 @@
>>>> +# Version 6 of the Berkeley DB from Oracle (formerly Sleepycat)
>>>> +#
>>>> +# At present this package only installs the DB code
>>>> +# itself (shared libraries, .a in the dev package),
>>>> +# documentation and headers.
>>>> +#
>>>> +# The headers have the same names as those as v3
>>>> +# of the DB, only one version can be used *for dev*
>>>> +# at once - DB3 and DB6 can both be installed on the
>>>> +# same system at the same time if really necessary.
>>>> +SECTION = "libs"
>>>> +SUMMARY = "Berkeley Database v6"
>>>> +HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
>>>> +LICENSE = "AGPL-3.0"
>>>> +VIRTUAL_NAME ?= "virtual/db"
>>>> +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 \
>>>> +           "
>>>> +
>>>> +SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b"
>>>> +SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2"
>>>> +
>>>> +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490"
>>>> +
>>>> +inherit autotools
>>>> +
>>>> +# Put virtual/db in any appropriate provider of a
>>>> +# relational database, use it as a dependency in
>>>> +# place of a specific db and use:
>>>> +#
>>>> +# PREFERRED_PROVIDER_virtual/db
>>>> +#
>>>> +# to select the correct db in the build (distro) .conf
>>>> +PROVIDES += "${VIRTUAL_NAME}"
>>>> +
>>>> +# bitbake isn't quite clever enough to deal with sleepycat,
>>>> +# the distribution sits in the expected directory, but all
>>>> +# the builds must occur from a sub-directory.  The following
>>>> +# persuades bitbake to go to the right place
>>>> +S = "${WORKDIR}/db-${PV}/dist"
>>>> +B = "${WORKDIR}/db-${PV}/build_unix"
>>>> +
>>>> +# The executables go in a separate package - typically there
>>>> +# is no need to install these unless doing real database
>>>> +# 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 = "-6*.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)
>>>> +DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
>>>> +
>>>> +EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot"
>>>> +
>>>> +# Override the MUTEX setting here, the POSIX library is
>>>> +# the default - "POSIX/pthreads/library".
>>>> +# Don't ignore the nice SWP instruction on the ARM:
>>>> +# These enable the ARM assembler mutex code
>>>> +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
>>>> +MUTEX = ""
>>>> +MUTEX_arm = "${ARM_MUTEX}"
>>>> +MUTEX_armeb = "${ARM_MUTEX}"
>>>> +EXTRA_OECONF += "${MUTEX}"
>>>> +
>>>> +# Cancel the site stuff - it's set for db3 and destroys the
>>>> +# configure.
>>>> +CONFIG_SITE = ""
>>>> +do_configure() {
>>>> +	gnu-configize --force ${S}
>>>> +	export STRIP="true"
>>>> +	oe_runconf
>>>> +}
>>>> +
>>>> +do_compile_prepend() {
>>>> +	sed -i -e 's|hardcode_into_libs=yes|hardcode_into_libs=no|' \
>>>> +		${B}/libtool
>>>> +}
>>>> +
>>>> +do_install_append() {
>>>> +	mkdir -p ${D}/${includedir}/db60
>>>> +	mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/.
>>>> +	mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/.
>>>> +	ln -s db60/db.h ${D}/${includedir}/db.h
>>>> +	ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.h
>>>> +
>>>> +	# The docs end up in /usr/docs - not right.
>>>> +	if test -d "${D}/${prefix}/docs"
>>>> +	then
>>>> +		mkdir -p "${D}/${datadir}"
>>>> +		test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
>>>> +		mv "${D}/${prefix}/docs" "${D}/${docdir}"
>>>> +	fi
>>>> +
>>>> +	chown -R root:root ${D}
>>>> +}
>>>> +
>>>> +INSANE_SKIP_${PN} = "dev-so"
>>>> +INSANE_SKIP_${PN}-cxx = "dev-so"
>>>> +
>>>> +BBCLASSEXTEND = "native nativesdk"
>>>> +
>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-commits mailing list
>>>> Openembedded-commits@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>>>
>>
>



  reply	other threads:[~2014-07-16 16:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20140708102041.70F60503C6@opal.openembedded.org>
2014-07-16 13:52 ` [oe-commits] Mark Hatle : db: Add version 6.0.30 Martin Jansa
2014-07-16 14:07   ` Mark Hatle
2014-07-16 15:33     ` Martin Jansa
2014-07-16 16:25       ` Mark Hatle [this message]
2014-07-16 17:55         ` Martin Jansa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53C6A777.4090301@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-commits@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox