I run ~x86 and dctc-0.85.4 doesn't find db-4.0 and bails out. Reproducible: Always Steps to Reproduce: 1. emerge dctc 2. 3. Actual Results: checking db.h usability... yes checking db.h presence... yes checking for db.h... yes checking Berkeley Database library version... 4.0 checking for db_env_create in -ldb-4.0... no checking for db_env_create in -ldb4... no configure: error: db.h reports Berkeley DB version is 4.0 but no db-4.0 library exists !!! ERROR: net-p2p/dctc-0.85.4 failed. !!! Function econf, Line 320, Exitcode 1 !!! econf failed
paul: i noticed that the configure script is looking for 'db4' while gentoo installs as 'db-4' ... db1 installs as 'db1' while db3 installs as 'db-3' ... perhaps we could at least have symlinks for libdb3.so and libdb4.so ?
Adding those ugly symlinks doesn't fix a thing as the latest db version is allways available as -ldb too, but the problem is in broken check scripts. Maybe I'll just build up a custom db checking script sometime that can be included in configure scripts. Also if anyone is interested in fixing it, do it, as this has low priority for me. I never use peer2peer software.
OK I think I fixed it. I unmerged db-4.0.14 (4.x) but made sure I had 3.x, specifically db-3.2.9-r7, and it compiled fine. I was tipped off after chroot'ing to a crusty old install that had a working dctc, and I checked what db versions were installed, there was no 4.x only 1.x & 3.x I compiled dc-gui afterwards and all seems to work.
Yes, that works like a charm. Thanks!
Unfortunately that is just a workaround. The configure file should be patched to check for db_create_4000 (for 4.0) or db_create_40001 (for 4.1) instead of db_create. If it is not fixed when I'm back from holidays I'll make a patch for it. In the meantime it will build against db-3 if db-4 is temporarilly unmerged.
another (temporary) fix is to make /usr/include/db.h to point to /usr/include/db3/db.h
can we get a patch for this please? Thanks!
*** Bug 29786 has been marked as a duplicate of this bug. ***
Please, I cannot really check this program. I never used it and never will. If someone wants help on how to patch it to work, I'm available.
Created attachment 18563 [details] Configure patch I changed 3 lines in config.in, but after autoconf had a look at it the patch got HUGE. If you don't like it, I can probably spend some time and rewrite the parts of it that deals with db3/db4. I guess this will be fixed upstream soonish anyway? I don't check for db4.1, so YMMV.
*** Bug 30164 has been marked as a duplicate of this bug. ***
This hasn't been stated here, but this also applies to dctc-0.85.3.
kdevelop cvs ebuild configure also fails with this error: checking for Berkeley DB >= 3... configure: error: no - please install Berkeley DB >= 3 I have the following versions installed: sys-libs/db-1.85-r1 sys-libs/db-3.3.11 sys-libs/db-4.1.25_p1-r2
A thead on the DCTC server has been dealing with the same issue. http://brainz.servebeer.com/phpBB2/viewtopic.php?t=72&postdays=0&postorder=asc&start=0 A DCTC developer thinks gentoo is compiling the dblibs in such a way that it is causing problems. Redhat users are having the same issue as gentoo users.
0.85.6 fixes this
This seems broken again in 0.85.8 and 0.85.9
works just fine here could you review your config.log to make sure it's not something unrelated on your system ? if that isnt the case, open a new bug with your config.log attached
I got this problem today too, and was able to solve it. The reason is the ebuild script tries to correct configure script using data gathered with nm from /usr/lib/libdb.so. However since Dec 20 (last time I emerged db and dctc - everything worked fine back then) for some reason db libs are stripped of symbols during install (they wern't before - I don't recall changing anything related in my configuration). The result is nm only reports it can't find any symbols in libdb. And this causes dctc ebuild to break configure script: in line 10018: instead of replacing db_env_create with correct function name it is deleted, and this breaks compilation of this code. Quick fix to solve this: add RESTRICT=nostrip to db ebuild and reemerge db. This keeps symbols in libdb, and dctc ebuild works correctly.
Michal: your portage tree is out of date, that bug was fixed at Bug 41970
At least in my tree, the problem with the stripped db libs was solved for dc-gui but not for dctc. I have copied the dctc ebuild to /usr/local/portage and applied that fix (copied the "local dbfunc" line from the dc-gui ebuild to the dctc ebuild). This compiles, runs, and seems to work.
you're right, i fixed dc-gui, but not dctc ... fixed dctc in cvs too