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, g...@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.ha...@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.ha...@windriver.com>
Signed-off-by: Richard Purdie <richard.pur...@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 jbow...@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: jbow...@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-comm...@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-commits




--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to