I just did a sync and update of my system, and due to some problems with CORBA I rebooted (which fixed those problems). Now I can no longer start apache/mod_perl since it cannot load DBI.pm The following versions of the software is installed: apache-1.3.29-r1 mod_perl-1.27-r4 perl-5.8.4 Reproducible: Always Steps to Reproduce: 1. emerge -U system 2. /etc/init.d/apache restart Actual Results: apache refuses to start and dies with the following message: Can't load module DBI, dynamic loading not available in this perl. (You may need to build a new perl executable which either supports dynamic loading or has the DBI module statically linked into it.) at /usr/lib/perl5/vendor_perl/5.8.2/i686-linux/DBI.pm line 255 Expected Results: Apache should have started, with the relevant modules loaded. Portage 2.0.50-r9 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6. 5-mm6) ================================================================= System uname: 2.6.5-mm6 i686 AMD Athlon(tm) XP 2400+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/ share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/ qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://194.83.57.2/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X aalib alsa apm avi berkdb cdr crypt cups encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg libg++ libwww mad maildir mikmod mmx motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres python quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Is there a reason why you use emerge -U system instead of emerge -u system?
I occasionaly install ~x86 packages (for a while I needed the ~x86 nvidia drivers), and -U prevents portage from downgrading my unstable packages. But, reading emerge(1) I see that this file is deprecated, so I'll look into phasing -U out. However running emerge -upv world returns only three packages: gentoo-sources-2.4.26-r6 (which I don't want) and older versions of the nvidia drivers/glx (which I don't want either).
Just unmask the packages you need in /etc/portake/portage.keywords e.g. put the lines media-video/nvidia-kernel ~x86 media-video/nvidia-gfx ~x86 x11-base/opengl-update ~x86 into that file to unmask the specified ebuilds. You won't need the -U option anymore with that method.
Cheers for that piece of info, but back to the real subject here, any idea why mod_perl is unable to load DBI.pm? I tried a regular shell script, and it has no problems with use DBI at all.
Same problem here. The resolution was to remerge perl, then mod_perl, then DBI in that order. I unfortunatly didn't have the chance to work out the cause, it was a production system that needed to come back to life within it's maintenance window. Hope that helps, Cheers, -Dave
Thanks for the advice. I'm trying it now, and hopefullyit'll work.
That fixed it. Thanks a lot!