Re: [Python-Dev] bsddb3 test hang

Detlef Lannert <lannert@uni-duesseldorf.de> wrote:
This is maybe not the same problem that Zooko had, but bsddb doesn't build on my Linux 2.4.10 (SuSE 7.3) box either where Sleepycat db-4.1.25 was installed from the sources. It puts db.h under /usr/local/include per default where Python's setup.py doesn't find it.
This *was* the same problem that I had. http://sourceforge.net/tracker/index.php?func=detail&aid=775850&group_id=5470&atid=105470 The solution ("workaround"?) is to install bsddb in `/usr/local/BerkeleyDB.4.1'. Regards, Zooko

Detlef> This is maybe not the same problem that Zooko had, but bsddb Detlef> doesn't build on my Linux 2.4.10 (SuSE 7.3) box either where Detlef> Sleepycat db-4.1.25 was installed from the sources. It puts Detlef> db.h under /usr/local/include per default where Python's Detlef> setup.py doesn't find it. zooko> This *was* the same problem that I had. zooko> The solution ("workaround"?) is to install bsddb in zooko> `/usr/local/BerkeleyDB.4.1'. I've been resistant to adding /usr/include and /usr/lib to the search path in setup.py because some platforms still ship with Berkeley DB 1.85 in those directories. If you can supply a patch to setup.py which will only allow db3 or 4 to be used to link the bsddb module, I will see about adding /usr/include and /usr/lib to the bsddb module search path for 2.3.1. Anything you come up with should also allow the bsddb185 module to build with db2, 3 or 4, but require a simple tweak to setup.py (perhaps a variable setting change at the top of the file) to build it with db1.85. Skip

Skip Montanaro wrote:
Detlef> This is maybe not the same problem that Zooko had, but bsddb Detlef> doesn't build on my Linux 2.4.10 (SuSE 7.3) box either where Detlef> Sleepycat db-4.1.25 was installed from the sources. It puts Detlef> db.h under /usr/local/include per default where Python's Detlef> setup.py doesn't find it.
zooko> This *was* the same problem that I had.
zooko> The solution ("workaround"?) is to install bsddb in zooko> `/usr/local/BerkeleyDB.4.1'.
I've been resistant to adding /usr/include and /usr/lib to the search path in setup.py because some platforms still ship with Berkeley DB 1.85 in those directories.
I have a number of observations and corrections to make: 1. The default installation of Sleepycat Berkeley DB does *not* install the files to /usr/local, but to /usr/local/BerkeleyDB.x.y. You have to request /usr/local explicitly, and you should not do so, unless you know what you are doing. 2. If Sleepycat is in /usr/local, Zooko's problem was *not* that setup.py would not find it there. Instead, the problem was that ld-linux.so.1 would not look for shared libraries in /usr/local. 3. Zooko's problem also was *not* related to /usr Regards, Martin

Martin> 3. Zooko's problem also was *not* related to /usr Not in my quoting or yours, but I thought there was some mention of /usr/lib/db4.so in that thread or on the bug tracker. In any case, we have been asked in the past to add /usr/lib and /usr/include to the search directories. Skip

Skip Montanaro <skip@pobox.com> writes:
Not in my quoting or yours, but I thought there was some mention of /usr/lib/db4.so in that thread or on the bug tracker. In any case, we have been asked in the past to add /usr/lib and /usr/include to the search directories.
And indeed, we have satisfied this request for Python 2.3. Regards, Martin
participants (4)
-
"Martin v. Löwis"
-
martin@v.loewis.de
-
Skip Montanaro
-
Zooko