Hi,

first, I am sorry that I committed the older proposed fix and caused
Bernhard troubles. Unfortunately, the problem went somehow out of my 
radar until I saw Bernhard's bug
https://bugs.freedesktop.org/show_bug.cgi?id=33230

Gökçen Eraslan píše v Po 10. 01. 2011 v 10:16 +0000:
> Perşembe 06 Ocak 2011 günü (saat 20:03:28) Petr Mladek şunları yazmıştı:
> > Hi,
> > 
> > this fixed the problem described in the attached mail.
> > 
> > Gökçen, Robert, could you please test it and sign it out for
> > libreoffice-3-3 branch?
> > 
> 
> No, I only have __db185_open_4008 symbol in libdb.so, here is the result:

Could you please try the attached patch?

I would like to get it into the libreoffice-3-3 branch for LO-3.3.1
release. Thus the diff is a bit conservative. The idea is:

+ keep check for "dbopen" and "__db185_open" to keep backward
  compatibility with  3.3.0 release
+ add check for "db_create" that seems to work for most people
+ add check for "db_create_4008",  "db_create_4007", "db_create_4004" that 
  should work for db.h using macros; the version numbers 4008, 4007, 4004 come
  from the used directory suffixes 4.8, 4.7, 4.4; I have seen these problems
  with macros only with the 4.x version
+ do not use AC_CHECK_FUNC; IMHO, it just duplicate the AC_CHECK_LIB and is not
  really necessary; I did not want to duplicate the long lists of fallbacks.

It is a bit ugly but it should know in all known cases.

It works here. Also really try the fallback when needed, ...


Best Regards,
Petr
>From 38951e26266ca3d20ca8dec1abb8cc16a6932c29 Mon Sep 17 00:00:00 2001
From: Petr Mladek <pmla...@suse.cz>
Date: Fri, 21 Jan 2011 19:04:00 +0100
Subject: [PATCH] combined check for system BerkleyDB (fdo#33230)

There are BerkleyDB installations that provides neither dbopen
nor __db185_open. Let's use more complex fallback to all
known symbols.

---
 configure.in |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/configure.in b/configure.in
index db20f9d..80469cb 100644
--- a/configure.in
+++ b/configure.in
@@ -4312,8 +4312,16 @@ int main(int argc, char **argv) {
     ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no. you need at least db 4.1])])
     DB_LIB=
     for dbver in '' -5.1 5.1 -5.0 5.0 -5 5 -4.8 4.8 -4.7 4.7 -4 4; do
-        AC_CHECK_LIB(db$dbver, dbopen, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
-            AC_CHECK_LIB(db$dbver, __db185_open, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ]
+        AC_CHECK_LIB(db$dbver, db_create, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+            AC_CHECK_LIB(db$dbver, dbopen, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+                AC_CHECK_LIB(db$dbver, db_create_4008, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+                    AC_CHECK_LIB(db$dbver, db_create_4007, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+                        AC_CHECK_LIB(db$dbver, db_create_4004, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+                            AC_CHECK_LIB(db$dbver, __db185_open, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ]
+                            )
+                        )
+                    )
+                )
             )
         )
     done
-- 
1.7.3.4

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to