Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 135766 - Webalizer can't be emerged when sys-libs/db-4.3.* is installed
Summary: Webalizer can't be emerged when sys-libs/db-4.3.* is installed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Jonathan Smith (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-06 07:06 UTC by Kai Blaschke
Modified: 2006-07-01 12:54 UTC (History)
2 users (show)

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


Attachments
Patch for webalizer-2.01.10-r12.ebuild (webalizer-sys-lib-db-r12.patch,431 bytes, patch)
2006-06-06 07:06 UTC, Kai Blaschke
Details | Diff
Patch for webalizer-2.01.10-r13.ebuild (webalizer-sys-lib-db-r13.patch,438 bytes, patch)
2006-06-06 07:07 UTC, Kai Blaschke
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Blaschke 2006-06-06 07:06:23 UTC
Webalizer has a dependency on "=sys-libs/db-4.2*", but a newer, slotted version 4.3 is available in portage (~arch keyword). Installing another app depending on the newest db version (like apache) before webalizer will break the compile process (unresolved symbols). Emerging webalizer before such a package will make webalizer crash.

Unmerging the sys-lib/db-4.2* package and then merging webalizer using --nodeps works fine. My suggestion is to change the dependency on sys-libs/db to ">=sys-libs/db-4.2". Tested and works for me. Patches for the current ebuilds (r12 and r13) are attached.
Comment 1 Kai Blaschke 2006-06-06 07:06:53 UTC
Created attachment 88518 [details, diff]
Patch for webalizer-2.01.10-r12.ebuild
Comment 2 Kai Blaschke 2006-06-06 07:07:08 UTC
Created attachment 88519 [details, diff]
Patch for webalizer-2.01.10-r13.ebuild
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-06-06 07:10:00 UTC
Please, post some errors and reopen then. It'd be much better to fix the real issue instead of hiding it.
Comment 4 Kai Blaschke 2006-06-06 07:58:50 UTC
Here is the output of "emerge webilizer":

gcc -I/usr/include/db4.2/ -O2 -march=i686 -pipe -DETCDIR=\"/etc\"  -DHAVE_DB_185_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SOCKET=1 -D              HAVE_SYS_SOCKET_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1  -DUSE_DNS  -I/usr/include -c graphs.c
gcc -Ldb-4.2  -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpn              g -lz -lm -lnsl -ldb
dns_resolv.o: In function `dns_resolver':
dns_resolv.c:(.text+0x464): undefined reference to `__db185_open_4002'
dns_resolv.o: In function `open_cache':
dns_resolv.c:(.text+0x143d): undefined reference to `__db185_open_4002'
collect2: ld returned 1 exit status
make: *** [webalizer] Error 1

!!! ERROR: app-admin/webalizer-2.01.10-r13 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  webalizer-2.01.10-r13.ebuild, line 100:   Called die


This error is caused by an incompatible version of db185.h, which is installed by BOTH versions of Berkeley DB. The 4.2 version of db185.h is being overwritten when merging version 4.3.x, and thus, causing unresolved symbols. The other way around, when compiling webalizer against the 4.2 version, and then installing 4.3.x, the webalizer executable also crashes complaining about a missing symbol `__db185_open_4002'. "equery list sys-libs/db" actually shows:

[I--] [ ~] sys-libs/db-4.2.52_p4 (4.2)
[I--] [ ~] sys-libs/db-4.3.29 (4.3)

Compiling webalizer against db-4.3.* using the --nodeps switch works well. This is why the dependency should be changed to ">=sys-libs/db-4.2".
Comment 5 Kai Blaschke 2006-06-06 08:04:16 UTC
P.S.: Another solution would be to remove slotting from sys-libs/db or fix the incompatibilities between 4.2.x and 4.3.x. This seems to be the "real issue".
Comment 6 Renat Lumpau (RETIRED) gentoo-dev 2006-07-01 12:54:26 UTC
fixed in -r13