Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 196173 - net-p2p/syrep-0.6 configure breaks with "configure: error: Berkeley libdb 4.2 required"
Summary: net-p2p/syrep-0.6 configure breaks with "configure: error: Berkeley libdb 4.2...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo net-p2p team
URL:
Whiteboard:
Keywords:
: 196180 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-10-17 14:21 UTC by Albert Zeyer
Modified: 2008-01-16 16:16 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
syrep-0.9.ebuild (syrep-0.9.ebuild,1.07 KB, text/plain)
2007-10-17 15:27 UTC, Albert Zeyer
Details
syrep-0.9.ebuild (syrep-0.9.ebuild,1.09 KB, text/plain)
2007-10-17 17:31 UTC, Albert Zeyer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Zeyer 2007-10-17 14:21:41 UTC
As the summery said, I got this:

...
checking zlib.h presence... yes
checking for zlib.h... yes
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for Berkeley libdb 4.2... configure: error: Berkeley libdb 4.2 required
See `config.log' for more details.

!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/net-p2p/syrep-0.6/work/syrep-0.6/config.log
 * 
 * ERROR: net-p2p/syrep-0.6 failed.
 * Call stack:
 *   ebuild.sh, line 1654:   Called dyn_compile
 *   ebuild.sh, line 990:   Called qa_call 'src_compile'
...


config.log:
...
configure:3702: checking for Berkeley libdb 4.2
configure:3723: i686-pc-linux-gnu-gcc -E  conftest.c
conftest.c:25:2: error: #error "foo"
configure:3729: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "syrep"
| #define PACKAGE_TARNAME "syrep"
| #define PACKAGE_VERSION "0.6"
| #define PACKAGE_STRING "syrep 0.6"
| #define PACKAGE_BUGREPORT "mzflerc (at) 0pointer (dot) de"
| #define PACKAGE "syrep"
| #define VERSION "0.6"
| #define HAVE_LIBZ 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| /* end confdefs.h.  */
|
| #include <db.h>
| #if (DB_VERSION_MAJOR != 4) || (DB_VERSION_MINOR != 2)
| #error "foo"
| #endif
|
configure:3748: error: Berkeley libdb 4.2 required
See `config.log' for more details.
...

I don't think this is a syrep-only problem. I also got the same problem with python, apache and some others (but on another PC; a recompile of db-4.3.29-r2 solves the problem there).

Sadly, on my current PC the problem was not solved by recompiling db-4.3.29-r2. I have currently these two versions of db installed:  4.3.29-r2 and 4.5.20_p2 (both only as dependencies of other packages)

The problem is that for some reason all the failing packages get the wrong DB-version (the newer 4.5 one) and they fail then. In this case the configure-skript also checks always for the wrong version (4.2). I have tried to build the ebuild for syrep-0.9 (the current stable syrep). There the configure-script checks for 4.3 or 4.4 but it also doesn't work because it always gets the 4.5.

I am not sure if the dependency to 4.2 is realy needed in this case (or in the case of syrep-0.9 the 4.3 or 4.4). In the ebuild there is only the dependency for >=db-4.2 marked.

So there are multiple bugs here:
- configure checks different dependencies than the ebuild
- it gets always the db 4.5 but it should get the <=db-4.4 (or I am not sure, perhaps it also works with db-4.5? I will test this now ...)
Comment 1 Albert Zeyer 2007-10-17 14:31:19 UTC
Ok, I have added this to the src_compile:
    sed -e "s/#if (DB_VERSION_MAJOR != 4).*/#if (DB_VERSION_MAJOR != 4)/"
configure.ac > configure.ac.new
    mv configure.ac.new configure.ac
    autoconf

With this modification, the configure-script doesn't break but the build does
with this error:
...
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I..     -O2 -march=nocona
-pipe -pipe -Wall -W -Wno-unused-parameter -MT util.o -MD -MP -MF
".deps/util.Tpo" \
          -c -o util.o `test -f 'util.c' || echo './'`util.c; \
        then mv -f ".deps/util.Tpo" ".deps/util.Po"; \
        else rm -f ".deps/util.Tpo"; exit 1; \
        fi
cache.c: In function 'md_cache_get':
cache.c:191: warning: pointer targets in passing argument 3 of 'fdmd5' differ
in signedness
util.c: In function 'statistics':
util.c:53: warning: passing argument 2 of 'db->stat' from incompatible pointer
type
util.c:53: error: too few arguments to function 'db->stat'
make[3]: *** [util.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory
`/var/tmp/portage/net-p2p/syrep-0.6/work/syrep-0.6/src'
...

It seems that db-4.5 is realy incompatible to the older ones. So the question
is now how to force the ebuild to use <=db-4.4.
Comment 2 Albert Zeyer 2007-10-17 15:09:47 UTC
I have now unmerged my db-4.5. syrep-0.6 still breaks (it seems that it realy needs 4.2) but syrep-0.9 compiles fine now.
Comment 3 Albert Zeyer 2007-10-17 15:18:00 UTC
syrep-0.9 also compiles fine with db-4.5. It has the same problems with the configure-script (it only checks for 4.3 and 4.4) but after I removed this problem it compiles fine.

I will make a new bugreport with the ebuild for syrep-0.9.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-10-17 15:23:46 UTC
*** Bug 196180 has been marked as a duplicate of this bug. ***
Comment 5 Albert Zeyer 2007-10-17 15:27:36 UTC
Created attachment 133679 [details]
syrep-0.9.ebuild

Here is the ebuild for syrep-0.9. It includes also the fix for the wrong check for db in the configure-script.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-10-17 16:04:59 UTC
Don't call autoconf directly in ebuilds; we have eautoreconf from autotools eclass for such things. ;)
Comment 7 Albert Zeyer 2007-10-17 17:31:54 UTC
Created attachment 133691 [details]
syrep-0.9.ebuild

updated ebuild with usage of eautoreconf
Comment 8 Raúl Porcel (RETIRED) gentoo-dev 2008-01-16 16:16:00 UTC
In CVS, thanks for the ebuild