Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 43056 - /usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/x86_64-linux/auto/DB_File/DB_File.so: undefined symbol: db_version
Summary: /usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/x86_64-linux/auto/DB_Fi...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: AMD64 Linux
: High major
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-26 20:11 UTC by Nuitari
Modified: 2005-07-19 16:20 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nuitari 2004-02-26 20:11:24 UTC
While trying to install qmail-scanner on an amd64, I get this error:
/usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/x86_64-linux/auto/DB_File/DB_File.so: undefined symbol: db_version

I have tried reemerging DB_File, it compiles succesfully.

----------------
hammer net-mail # USE="ipalias maildir" emerge -v qmail-scanner qtools
Calculating dependencies ...done!
>>> emerge (1 of 2) net-mail/qmail-scanner-1.20 to /
>>> md5 src_uri ;-) qmail-scanner-1.20.tgz
>>> Unpacking source...
>>> Unpacking qmail-scanner-1.20.tgz to /var/tmp/portage/qmail-scanner-1.20/work
 * Replacing obsolete head/tail with POSIX compliant ones
 * Adding items to the SILENT_VIRUSES list (bagle,beagle,mydoom,sco,maldal,mimail,novarg,shimg)
 * Forcing use of clamscan instead of clamuko due to detection bug
>>> Source unpacked.
Building Qmail-Scanner 1.20...

This script will search your system for the virus scanners it knows
about, and will ensure that all external programs
qmail-scanner-queue.pl uses are explicitly pathed for performance
reasons.


It will then generate qmail-scanner-queue.pl - it is up to you to install it
correctly.


               **************************

 perl doesn't have DB_File module - cannot continue.

Get it from CPAN:

http://search.cpan.org/search?module=DB_File

               **************************


Error reported was:

---
/usr/bin/perl: relocation error: /usr/lib/perl5/5.8.3/x86_64-linux/auto/DB_File/DB_File.so: undefined symbol: db_version
---
 * Changing suidperl to plain perl

 * Failed Patch: qmail-scanner-queue.pl.patch!
 * 
 * Include in your bugreport the contents of:
 * 
 *   /var/tmp/portage/qmail-scanner-1.20/temp/qmail-scanner-queue.pl.patch-20086.out
----------------

Of course, qmail-scanner-queue.pl isn't generated and the patch fails.


Reproducible: Always
Steps to Reproduce:
1. emerge qmail-scanner





hammer net-mail # emerge info
Portage 2.0.50-r1 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0,
2.6.3-rc2-gentoo)
=================================================================
System uname: 2.6.3-rc2-gentoo x86_64 5
Gentoo Base System version 1.4.3.13p1
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -mmmx -msse -msse2 -m3dnow -fPIC"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -mmmx -msse -msse2 -m3dnow -fPIC"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com http://adelie.polymtl.ca"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X amd64 apache2 apm arts avi berkdb crypt curl encode foomaticdb gd gdbm
gif gnome gpm gtk gtk2 imap imlib innodb jpeg kde libg++ libwww mcal mikmod
motif mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python
quicktime readline sdl slang spell ssl tcpd tiff truetype xml2 xmms xv zlib"
Comment 1 Nuitari 2004-03-01 00:40:52 UTC
I finally found the cause.

From: 
http://www.cpan.org/modules/by-module/DB_File/DB_File-1.69.readme

This error usually happens when you have both version 1 and version
2 of Berkeley DB installed on your system and DB_File attempts to
build using the db.h for Berkeley DB version 2 and the version 1
library. Unfortunately the two versions aren't compatible with each
other. The undefined symbol error is actually caused because Berkeley
DB version 1 doesn't have the symbol db_version.


and when I checked:
hammer lib # ldd /usr/lib/perl5/5.8.3/x86_64-linux/auto/DB_File/DB_File.so
        libdb-4.1.so => /usr/lib/libdb-4.1.so (0x0000002a95662000)
        libc.so.6 => /lib/libc.so.6 (0x0000002a9582f000)
        /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)

hammer lib # cd /usr/include
hammer include # ls -l db*
lrwxrwxrwx    1 root     root            8 Dec 16  2004 db.h -> db3/db.h
lrwxrwxrwx    1 root     root           12 Dec 16  2004 db_185.h -> db3/db_185.h


doing 
hammer include # ln -sf db4.1/db.h .
hammer include # ln -sf db4.1/db_185.h .
hammer include # emerge DB_File

fixed the issue.

This really should be documented or integrated in ebuilds of DB_File.
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2005-07-19 16:20:50 UTC
(Just now catching up on old bugs, really sorry for the delay) Actually, this
was a problem with the upgrade of db (one of the configure scripts wasn't
updating the symlink correctly). Sorry that you had to trudge this on your own :/